🇸🇰 Prečo si Cardano vybralo Haskell a prečo by vás to malo zaujímať

Prečo si Cardano vybralo Haskell a prečo by vás to malo zaujímať

(Napísal @ElliotHill z Nadácie Cardano) - preklad @Martin.M

Ak ste sa už nejaký čas pohybujete v ekosystéme Cardano, možno ste sa dozvedeli, že náš blockchain je zostavený pomocou funkčného programovacieho jazyka s názvom „Haskell“.

Haskell je základom pre Plutus, programovací jazyk inteligentných kontraktov Cardana a tiež ovláda Marlowe, náš špecifický doménový jazyk pre finančné inteligentné kontrakty. O oboch sa môžete dozvedieť viac v našom predchádzajúcom článku, ktorý predstavuje decentralizované aplikácie.

Haskell však nepatrí medzi najznámejšie programovacie jazyky. Není zvyčajne vybratý ľuďmi, ktorí práve začínajú na svojej ceste vývojára. Podľa indexu „Popularita programovacích jazykov“ je v novembri 2020 Haskell 27. najvyhľadávanejší jazyk na Googli, na popredných miestach sú napríklad Python a Java.

S týmto vedomím si teda možno mnohí položia otázku, prečo bolo Cardano implementované v Haskelli? Dôvod je ten, že Haskell - najmä v spojení s formálnymi metódami je vhodný na písanie kódu, ktorý je robustný a správny. Aby sme však pochopili, prečo je to pre Cardano dôležité, musíme najskôr preskúmať, čo je to Haskell a zistiť jeho úlohu ako funkčného programovacieho jazyka.

Čo je to Haskell?

Pomenovaný po neskorom americkom matematikovi Haskell Curry. Haskell má svoje korene v akademickom prostredí a v štúdiu logiky, ako aj v predchádzajúcich iteráciách funkčných programovacích jazykov, ako sú napr. ako Miranda.

Tieto počiatočné vplyvy, ktoré vo všeobecnosti vyvolali rozsiahlejší záujem o funkčné programovacie jazyky viedli k formálnemu definovaniu Haskellu v roku 1990. Avšak niekoľko výskumníkov, napríklad profesor Phillip Wadler, začalo pracovať na proto-Haskell komponentoch, ako sú typové triedy už v roku 1987 - pred vydaním verzie Haskell verzie 1.0.

Funkčné programovacie jazyky kladú dôraz na používanie „čistých“ funkcií, pokiaľ je to možné: funkcií, ktoré pri rovnakom vstupe vydajú vždy rovnaký výsledok. Aj keď je to pre matematikov samozrejmé, počítačoví programátori sú zvyknutí na myšlienku, že „funkcie“ v počítačovom programe závisia aj od vnútorného stavu údajov na disku alebo aktuálneho času. Ak je možné oddeliť tieto „vedľajšie účinky“ od hlavnej logiky, Haskell programátori môžu oveľa ľahšie uvažovať o svojom kóde („rovnicové uvažovanie“). Toto nielen uľahčuje písanie správneho kódu, ale je tiež neoceniteľné pre testovanie alebo dokonca pre preukázanie jeho správnosti.

Haskell sa v priebehu času vyvíjal niekoľkými iteráciami, napríklad Haskell 98 a Haskell 2010, pričom oddaní členovia komunity pridávali rozšírenia, typové triedy a zostavovali Haskell kompilátory na podporu ekosystému. Momentálne existuje obrovské množstvo komplexných knižníc a nástrojov, ktoré môžu Haskell vývojári využiť.

Ako jeden z najčistejších funkčných programovacích jazykov, Haskell údajne priviedol mnohých vývojárov k transformácii spôsobu, akým pristupujú k programovaniu vo všeobecnosti a pomohol zlepšiť ich celkové schopnosti ako programátorov.

Podľa Aarona Contorera, výkonného riaditeľa programovacej spoločnosti Haskell FP Complete toto viedlo k tomu, že Haskell bol zvolený ako najviac odporúčaný jazyk na naučenie, aj keď vývojári nemajú konkrétnu potrebu aby ho ovládali - čo je dôvod, prečo odporúčame všetkým vývojárom preskúmať, čo Haskell ponúka.

Prečo bolo Cardano implementované v Haskelli?

Dozvedeli sme sa, že Haskell je funkčný programovací jazyk, ktorý je vhodný pre kód s vysokou mierou zabezpečenia a programy, ktoré si vyžadujú vysoký stupeň formálneho overenia.

Ako sme už vyššie spomínali, toto umožňuje programátorom získať väčšiu mieru istoty, že kód, ktorý implementovali je správny. Pre budúcnosť, ktorú pre Cardano predpokladáme - konkrétne stať sa budúcim globálnym sociálnym a finančným operačným systémom - je istota a spoľahlivosť nevyhnutná.

S príchodom decentralizovaných aplikácií, tokenizácie a inteligentných zmlúv na Cardano očakávame, že vznikne celý ekosystém decentralizovaných finančných služieb. Toto prinesie miliardy dolárov hodnoty on-chain, ktoré budú uzamknuté prostredníctvom inteligentných zmlúv alebo spravované prostredníctvom decentralizovaných autonómnych organizácií (DAO).

Súčasná infraštruktúra inteligentných kontraktov však nedokázala zabezpečiť túto hodnotu on-chain, hlavne pri implementácii nových na mieru navrhnutých programovacích jazykov, z ktorých každý vyžaduje svoje vlastné nástroje, knižnice a vzdelávacie zdroje - čím sa formálne ťažko odôvodňuje správanie inteligentných zmlúv a aplikácií postavených na ich základe.

Zo skúseností vieme, že výsledné chyby zabezpečenia, zlyhania kódu alebo zneužitia inteligentných kontraktov na iných blockchainoch a jazykoch inteligentných zmlúv vyústili do katastrofálnych dôsledkov a viedly k značným finančným stratám, často v miliardách dolárov. Toto niektorých viedlo k otázke, či budú inteligentné zmluvy z hľadiska rizika pre inštitucionálnych používateľov niekedy realizovateľné.

Tu si Haskell prišiel na svoje. Prostredníctvom Haskellu možno Plutus a Marlowe inteligentné kontrakty Cardana starostlivo implementovať do presného, ​​formálne overeného kódu, ktorý poskytuje od začiatku vysokú úroveň istoty.

Plutus a Marlowe sú ponúkané ako sada knižníc pre Haskell, využívajúc existujúcu dokumentáciu Haskellu, sady nástrojov a vysoko profesionálnu komunitu pre poskytnutie základov na budovanie bezpečných a enterprise-grade inteligentných zmlúv.

Off-chain aj on-chain kód pre Cardano je napísaný v Haskelli, čo umožňuje Cardanu zdediť bohatý obnos výskumu, ktorá už existuje v ekosystéme Haskell namiesto toho, aby bolo treba znova objavovať koleso pomocou úplne nového a nepreukázaného jazyka inteligentných zmlúv.

Na podporu širšej komunity Haskellu, technickí partneri Cardana - IOHK nedávno prispeli Haskell Nadácii. Ide o iniciatívu, ktorá podporuje rozvoj a rast Haskellu. Viac informácií o Nadácii Haskell sa dozviete od Simona Peytona Jonesa z virtuálnej udalosti Haskell eXchange 2020 tu.

Kde sa môžem dozvedieť viac o Haskelli?

Cardano, ale aj platformy Plutus a Marlowe sú open-source a teda k dispozícii na preskúmanie. Viac z našej kódovej základne môžete nájsť v sekcii Cardano dokumentácia alebo priamo na stránke GitHub Cardana.

Ak hľadáte najlepšieho sprievodcu pre Haskell a neviete kde začať, odporúčame vám pozrieť si knihu alebo web „Learn You a Haskell for Great Good“ od Miran Lipovača. Učenie sa Haskellu je uľahčené pomocou tohto ilustrovaného sprievodcu - jedného z najpútavejších spôsobov, ako sa naučiť tento fascinujúci programovací jazyk.

Medzi ďalšie zdroje pre Haskell vývojárov patrí Glasgow Haskell Compiler (GHC) - ktorý vedie Simon Peyton Jones a Simon Marlow - kompilátor natívneho kódu open-source pre Haskell.

Ak sa chcete pridať k živej komunite Haskell vývojárov, odporúčame vám tiež skontrolovať Haskell Reddit. Ak máte záujem o vývoj na Cardane, prečo sa nepripojiť k nášmu zoznamu čakateľov na developerskom portáli? Získate tu prístup k najnovším správam vývojárov z ekosystému Cardano.

Bavte sa a pokračujte v budovaní!

Pôvodný článok: Why Cardano chose Haskell—and why you should care