W niedawnym odkryciu założyciel Cardano, Charles Hoskinson, powiedział, że prawie zbudował platformę blockchain Cardano przy użyciu języka programowania Clojure.
Podczas dyskusji na X założyciel Cardano podzielił się niedawno fascynującym wglądem w wczesny proces decyzyjny, który doprowadził do powstania Cardano. Ujawnił kluczowy moment: wybór pomiędzy użyciem Clojure, dynamicznego i funkcjonalnego dialektu Lisp, a Haskell, funkcjonalnego języka programowania o typie statycznym.
Jednak ostatecznie decyzja padł na Haskell, pod wpływem potencjału Cloud Haskell i nadziei na wykorzystanie Liquid Haskell i Agda.
Prawie zbudowałem Cardano z Clojure. Wiele lat temu rozmawialiśmy o tym nawet z Cognitech. Wybrałem haskell zamiast clojure ze względu na haskell w chmurze, a także nadzieję na użycie płynnego haskell/agda. Z perspektywy czasu mogę stwierdzić, że napisanie wszystkiego w clojurescript byłoby niesamowitą podróżą…
— Charles Hoskinson (@IOHK_Charles) 30 maja 2024 r
Hoskinson ujawnił to w rozmowie X z Ktorzem, dyrektorem technicznym Fundacji Cardano, ponieważ obaj wykazali się wiedzą na temat różnych języków programowania, a szczególnie interesowali się Lispem, którego dialektem jest Clojure.
Pomimo początkowego zainteresowania Clojure, Hoskinson ujawnił, że wybrał Haskell zamiast Clojure ze względu na Cloud Haskell, a także nadzieję na użycie płynnego Haskell/agda. Cloud Haskell oferuje rozproszoną platformę obliczeniową, która dobrze odpowiada potrzebom platformy blockchain, natomiast Liquid Haskell i Agda zapewniają zaawansowane możliwości formalnej weryfikacji i zapewnienia poprawności kodu.
Z perspektywy czasu Hoskinson wspomina podróż, jaką mogłaby odbyć, gdyby Cardano zostało zbudowane przy użyciu Clojure. Wyobraża sobie Cardano zbudowane w całości na Clojure, wykorzystujące ClojureScript do programowania po stronie klienta i ClojureSpec do specyfikacji i testów.
karta
Refleksje Hoskinsona nie są przepełnione żalem, ale wnikliwą refleksją nad tym, co mogłoby się wydarzyć. Rozmyśla, że ta trasa mogła być „niesamowitą podróżą”.
„Patrząc wstecz, napisanie wszystkiego w Cardano przy użyciu ClojureScript i ClojureSpec byłoby niesamowitą podróżą” – zauważył Hoskinson.