Ilmus uus versioon Crystalist, Ruby sĂŒntaksiga kompileeritavast programmeerimiskeelest, mille pĂ”hijooned on kĂ€ivitusaeg, kus on "sisse ehitatud" event loop, kus kĂ”ik sisendi-vĂ€ljundi operatsioonid on asĂŒnkroonsed, mitme töötluse toetamine (hetkel aktiveeritav kompileerimise ajal) ja ÀÀrmiselt lihtne ning mugav töö C keele teekidega.
Alates versioonist 0.34.0 hakkab keel ametlikult liikuma kindla sammu suunas esimesse tÔeliselt stabiilsesse vÀljaandesse (st versioon 1.0).
Uues versioonis Crystalis saab mÀrkida jÀrgmised muudatused ja tÀiustused nende olulisuse jÀrjekorras:
API-sse on lisatud uus logimisraamatukogu Log, mis erinevalt vanast oskab edastada sÔnumeid erinevatesse tagaplaanidesse ja filtreerida neid erinevalt sÔltuvalt "allikast".
C arenduse jÀÀnused, Errno ja WinError, mida kasutati primitiivsete sisendi-vÀljundi operatsioonide jaoks, kaovad minevikku tÀnu erandi hierarhiale IO::Error (kuid Errno kasutamine ei ole keelatud).
Omandatud automaatne else nil sisestamine operaatoreilt case/when/else, et vĂ€ltida arendaja juhuslikku ĂŒhe haru vahelejĂ€tmist. when enumâide ja Unionâst tĂŒĂŒpi lĂ€bimise mÀÀratud juhtumite puhul matĆĄimise korral. TeisisĂ”nu, selline kood ei tööta enam ilma lisavĂ€lja toomata. when (when Char) vĂ”i mÀÀramisega muud-harud:
a = 1 || 'x' || "foo"
juhtum a
kui Int32
# âŠ
kui String
# âŠ
lÔpp
Kompilaatori valik disable_overflow ei ole enam saadaval. Ălevoo operatsioonide jaoks kasutage meetodeid &+ , &- , &*.
Array#fill lennatakse nĂŒĂŒd kiiremini kui kuul, tĂ€nu igavese tsĂŒkli asendamisele ĂŒhe lihtsa memset'iga;
Shardide (pakettide) haldur, mis kannab paraku nime shards, kasutab nĂŒĂŒd kiiremat ja tĂ”husamat sĂ”ltuvuste rahuldamise algoritmi Molinillo, mille eest vaadati CocoaPods's (Swift) ja Builder'is (Ruby).
Lisatud tugi LLVM 10, mis peaks tooma meile teatud jÔudluse ja stabiilsuse kasvu jne.
⊠ja palju muid, subjektiivselt hinnates, vÀhem olulisi tÀiustusi.
Tuleb mĂ€rkida, et Crystal on LLVM-il pĂ”hinev keel, mis vĂ”imaldab luua rakendusi tihti kiiremini, lihtsamalt ja selgemalt kui selle tĂ”lgendatud âvennadâ, ning samas toota ĂŒsna kiiret binaarfaili. Eraldub Golangi taustal tĂ€iusliku OOP-ga, generikate toega ning arusaadava ja lihtsa sĂŒntaksiga. Oma otstarbel sarnaneb suuresti Nimiga, kuid on selgesĂ”naliselt suunatud praktilisele kasutusele âsiin ja praeguâ, mille tĂ”ttu on selle API arsenalis palju normaalselt dokumenteeritud mugavaid ja kvaliteetseid tööriistu, mida keele arendajad toetavad ja seega ka ĂŒsna stabiilsed.
Allikas: linux.org.ru
