­č窭čç░ 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