Cover Image

Nesenā atklāsmē Cardano dibinātājs Čārlzs Hoskinsons dalījās, ka viņš gandrīz izveidoja Cardano blokķēdes platformu, izmantojot Clojure programmēšanas valodu.

X diskusijā Cardano dibinātājs nesen dalījās aizraujošā ieskatā agrīnajā lēmumu pieņemšanas procesā, kas noveda pie Cardano izveides. Viņš atklāja galveno momentu: izvēli starp Clojure, dinamisku un funkcionālu Lisp dialektu, un Haskell, statiski drukātu funkcionālu programmēšanas valodu.

Tomēr lēmums galu galā sliecās uz Haskell, ko ietekmēja Cloud Haskell potenciāls un cerības piesaistīt Liquid Haskell un Agda.

Es gandrīz uzcēlu Cardano ar Clojure. Mēs pat pirms gadiem to apspriedām ar cognitech. Es izvēlējos haskell, nevis clojure dēļ mākoņa haskell un arī cerības izmantot šķidro haskell/agda. Atskatoties, tas būtu bijis pārsteidzošs ceļojums, ja visu būtu uzrakstījis klojurekriptā…

— Čārlzs Hoskinsons (@IOHK_Charles) 2024. gada 30. maijs

Hoskinsons to atklāja X sarunā ar Ktorzu, Cardano fonda tehnisko direktoru, jo abi demonstrēja zināšanas par dažādām programmēšanas valodām ar savdabīgu interesi par Lisp, kuras dialekts ir Clojure.

Neskatoties uz viņa sākotnējo interesi par Clojure, Hoskinsons atklāja, ka viņš izvēlējās Haskell, nevis Clojure, pateicoties Cloud Haskell un arī cerībai izmantot šķidro Haskell/agda. Cloud Haskell piedāvā izkliedētu skaitļošanas sistēmu, kas labi atbilst blokķēdes platformas vajadzībām, savukārt Liquid Haskell un Agda nodrošina uzlabotas iespējas oficiālai pārbaudei un koda pareizības nodrošināšanai.

Atskatoties, Hoskinsons pārdomā ceļojumu, kāds varētu būt, ja Cardano būtu uzbūvēts kopā ar Klojuru.  Viņš iztēlojas Cardano, kas pilnībā būvēts uz Clojure, izmantojot ClojureScript klienta puses izstrādei un ClojureSpec specifikācijām un testēšanai.

karti

Hoskinsona pārdomas nav piepildītas ar nožēlu, bet gan ar pārdomātu apsvērumu par to, kas varēja būt. Šis maršruts, viņaprāt, varēja būt "brīnišķīgs ceļojums".

"Atskatoties atpakaļ, būtu bijis pārsteidzošs ceļojums uzrakstīt visu Cardano, izmantojot ClojureScript un ClojureSpec," atzīmēja Hoskinsons.