Išleista Crystal 0.34.0

Išleista nauja Crystal versija, sukompiliuota programavimo kalba su Ruby sintaksė, kurios pagrindinės ypatybės yra vykdymo laikas su „įtaisytuoju“ įvykių ciklu, kuriame visos įvesties/išvesties operacijos yra asinchroninės, palaikymas daugiasriegiui (tol nes tai įjungia vėliavėlė kompiliavimo metu) ir itin paprastas bei patogus valdymas su C bibliotekomis.

Pradedant nuo 0.34.0 versijos, kalba oficialiai pradeda judėti pirmuoju tikruoju leidimu (ty 1.0 versija).

Naujoje „Crystal“ versijoje pagal svarbą įtraukti šie pakeitimai ir patobulinimai:

  • Prie API pridėta nauja registravimo biblioteka Prisijungti, kuri, skirtingai nei senoji, gali siųsti pranešimus į skirtingas pagrindines programas ir filtruoti šiuos pranešimus skirtingai, priklausomai nuo „šaltinio“.

  • Užuomazgos iš C kūrimo pasaulio, Errno и WinError, naudojami I/O primityvams, dėl išimties hierarchijos tampa praeitimi IO:: Klaida (tačiau dar niekas nedraudžia naudoti Errno).

  • Pašalintas automatinis kito nulio pakeitimas iš operatoriaus atvejis/kada/kita. Tai daroma siekiant, kad kūrėjas netyčia nepraleistų vienos iš šakų. kada kai sutampa su deterministiniais atvejais, pvz., enums, ir pereinant per tipus iš Sąjungos. Tai yra, paprasčiausiai tariant, šis kodas nebeveiks nenurodžius dar vieno kada (kai Char) arba užduotis kitas- filialai:

a = 1 || 'x' || "foo"
atvejis a
kai Int32
#…
kai Styga
#…
pabaiga

  • Kompiliatoriaus parinktis disable_overflow nebeprieinamas. Perpildymo operacijoms naudokite &+, &-, &* metodus.

  • Masyvas#užpildymas dabar skrenda greičiau nei kulka, nes kvaila kilpa pakeičiama vienu paprastu memset;

  • Skeveldrų (paketų) vadybininkas, vadinamas, paradoksalu, skaldos, dabar naudoja greitesnį ir efektyvesnį „Molinillo“ priklausomybės pasitenkinimo algoritmą, esantį „CocoaPods“ („Swift“) ir „Builder“ („Ruby“).

  • Pridėta parama LLVM 10, kuris teoriškai padidins produktyvumą, stabilumą ir kt.

... ir daugelis kitų, mano subjektyvia nuomone, mažiau reikšmingų patobulinimų.

Norėčiau pastebėti, kad Crystal yra kalba, sukurta ant LLVM, kuri leidžia rašyti programas kartais greičiau, paprasčiau ir glaustai nei ant interpretuojamų „brolių“ ir tuo pačiu gauti gana greitą dvejetainį failą. Palyginti su Golang, jis išsiskiria savo absoliučiai visaverčiu OOP, generinių vaistų palaikymu ir labai paprasta bei suprantama sintaksė. Jo paskirtis iš esmės panaši į „Nim“, tačiau tuo pat metu jis aiškiai orientuotas į praktinį naudojimą „čia ir dabar“, todėl savo API arsenale turi daug gerai dokumentuotų, patogių ir kokybiškų įrankių, kuriuos palaiko kalbos kūrėjai ir todėl labai stabilūs.

Šaltinis: linux.org.ru

Добавить комментарий