- Cardano-Chef Charles Hoskinson teilte mit, dass die Smart Contracts-Programmiersprache Haskell jetzt im Web-Browser ausgeführt werden kann.
- Haskell behebt Unzulänglichkeiten von JavaScript und ermöglicht Entwicklern, performanten und wartbaren Code zu schreiben.
In der jüngsten Ankündigung vom 14. Dezember gab Cardano-Chef Charles Hoskinson bekannt, dass Haskell, die native Programmiersprache für Smart Contracts, im Web-Browser ausgeführt werden kann.
It took awhile, but haskell now can run in the browser. I wonder what Haskell to Javascript means for the industry? https://t.co/mpm6XWS1sK
— Charles Hoskinson (@IOHK_Charles) December 14, 2022
Haskell ist eine rein funktionale Programmiersprache, die ein breites Spektrum an Anwendungen abdecken kann. Sie hat eine ausdrucksstarke Syntax und eine sehr reichhaltige integrierte Architektur. Der Gründer von Cardano, Charles Hoskinson, ist äußerst optimistisch, was die Fähigkeiten von Haskell angeht.
Die Smart Contracts von Cardano und Marlowe, die domänenspezifische Sprache für Financial Smart Contracts, sind in Haskell programmiert. Auch die On-Chain und Off-Chain-Codes von Cardano sind in Haskell geschrieben.
Hoskinson hat sich unteranderem desegen für Haskell entschieden, weil Plutus und Marlowe Smart Contracts in einer präzisen, formal bewährten Sprache erstellt werden können. Dies trägt dazu bei, von Anfang an ein hohes Maß an Sicherheit zu bieten. Das Haskell nun direkt im Browser ausgeführt werden kann, erleichtert den Entwicklen ihre Arbeit.
Das Cardano-Entwicklungsteam merkt an, man habe kürzlich ein neues JavaScript-Backend in GHC integriert. Damit ist die nächste Version von GHC Code erzeugen, der in Browsern ausgeführt werden kann, ohne dass zusätzliche Tools benötigt werden. Das macht Haskell sowohl für Back-End- als auch für Front-End-Applikationen anwendbar.
Warum JavaScript und warum Haskell?
Das Engineering-Team von Cardano erklärt, warum man sich für JavaScript im Backend entschieden hat. Auschlaggebend war, dass JavaScript weltweit einen Anteil von 97,3 Prozent bei der Client-Programmierung hat. Außerdem bietet es Portabilität, so dass das Cardano-Team sich auf die Investitionen in die Sprache und die Plattform konzentrieren kann.
Die Cardano-Entwickler sehen viele Stärken in den JavaScript-Backends. Es komme letztlich der Haskell-Community zugute, wenn beide Codegenerierungspfade in GHC für unterschiedliche Anwendungsfälle und Anforderungen unterstützt werden.
Das Team sieht allerdings auch einige Mängel bei frühen Designentscheidungen und nachgelagerten Effekten von JavaScript. Außerdem gibt es bei JavaScript grundlegende Probleme mit asynchroner und synchroner Programmierung sowie Sicherheitsprobleme im Ökosystem. Das Cardano-Team schreibt:
Abboniere unseren täglichen Newsletter!
Kein Spam, keine Werbung, nur Insights. Abmeldung jederzeit möglich.
„Haskell macht dies einfach; oder, um ein wenig technisch zu werden, die Kombination von Strong Static Hindley-Milner basierter Typisierung erlaubt es uns, performanten, korrekten und wartbaren Code zu schreiben.
Der Vorteil der Verwendung von Haskell ist die gemeinsame Nutzung von Code:
Wir können das Front-End einer Webanwendung in Haskell schreiben, das zu JavaScript kompiliert wird, und das Back-End in Haskell, das direkt in Maschinencode kompiliert wird. Insbesondere der (De-)Serialisierungscode – beispielsweise von oder nach JSON – wird gemeinsam genutzt und kann nicht aus dem Takt geraten zwischen Front-End und Back-End.“
Aus all diesen Gründen sind sie überzeugt, dass ein mit GHC synchronisiertes JavaScript-Backend dem Haskell-Ökosystem insgesamt einen Mehrwert und gleichzeitig ein besseres Benutzer-Erlebnis bei geringeren Kosten bietet.