Cover Image

在最近的爆料中,Cardano 創辦人 Charles Hoskinson 表示,他幾乎使用 Clojure 程式語言建構了 Cardano 區塊鏈平台。

在 X 討論中,卡爾達諾創始人最近分享了對導致卡爾達諾創建的早期決策過程的精彩一瞥。他透露了一個關鍵時刻:在使用 Clojure(一種動態函數式 Lisp 方言)和 Haskell(一種靜態型別函數式程式語言)之間進行選擇。

然而,受到 Cloud Haskell 潛力以及利用 Liquid Haskell 和 Agda 的希望的影響,該決定最終傾向於 Haskell。

我幾乎用 Clojure 建構了 Cardano。幾年前我們甚至與 Cognitech 討論過這個問題。由於雲端 Haskell 以及使用 Liquid Haskell/agda 的希望,我選擇了 Haskell 而不是 clojure。事後看來,如果用 clojurescript 寫所有內容,那將會是一次奇妙的旅程…

— 查爾斯·霍斯金森 (@IOHK_Charles) 2024 年 5 月 30 日

Hoskinson 在與 Cardano 基金會技術總監 Ktorz 的 X 對話中透露了這一點,因為兩人都展示了對各種程式語言的了解,並對 Lisp 有著特殊的興趣,而 Clojure 是 Lisp 的一種方言。

儘管他最初對 Clojure 感興趣,但 Hoskinson 透露,他之所以選擇 Haskell 而不是 Clojure,是因為 Cloud Haskell 以及使用 Liquid Haskell/agda 的希望。 Cloud Haskell 提供了一個非常適合區塊鏈平台需求的分散式運算框架,而 Liquid Haskell 和 Agda 則提供了用於形式驗證和確保程式碼正確性的高級功能。

事後看來,霍斯金森回顧瞭如果卡爾達諾是用 Clojure 建構的話,可能會發生的旅程。  他設想了一個完全基於 Clojure 建構的 Cardano,利用 ClojureScript 進行客戶端開發,利用 ClojureSpec 進行規格和測試。

卡片

霍斯金森的反思並沒有充滿遺憾,而是對本來可能發生的事情進行了深思熟慮。他認為,這條路線可能是一趟「奇妙的旅程」。

「回想起來,使用 ClojureScript 和 ClojureSpec 在 Cardano 中編寫所有內容將是一次奇妙的旅程,」Hoskinson 說。