Crystal 0.34.0 a fost lansat

A fost lansată o nouă versiune de Crystal, un limbaj de programare compilat cu sintaxă Ruby, ale cărui caracteristici principale sunt runtime cu o buclă de evenimente „încorporată”, în care toate operațiunile I/O sunt asincrone, suport pentru multithreading (atât timp deoarece este activat de un flag în timpul compilării) și o operare extrem de simplă și convenabilă cu bibliotecile în C.

Începând cu versiunea 0.34.0, limba începe oficial să se îndrepte către prima sa lansare reală (adică versiunea 1.0).

Noua versiune de Crystal include următoarele modificări și îmbunătățiri în ordinea importanței:

  • O nouă bibliotecă de înregistrare a fost adăugată la API Log, care, spre deosebire de cel vechi, poate trimite mesaje către diferite backend-uri și poate filtra aceste mesaje diferit în funcție de „sursă”.

  • Rudimente din lumea dezvoltării C, Errno и WinError, utilizate pentru primitivele I/O, devin un lucru din trecut datorită ierarhiei excepțiilor IO::Eroare (cu toate acestea, nimeni nu interzice încă folosirea Errno).

  • S-a eliminat înlocuirea automată a restului zero de la operator caz/când/altfel. Acest lucru se face pentru a preveni dezvoltatorul să sară peste una dintre ramuri accidental. cand la potrivirea pe cazuri deterministe precum enumerarile si trecerea prin tipuri din Union. Adică, simplu spus, acest cod nu va mai funcționa fără a mai specifica unul cand (când Char) sau sarcini altfel-ramuri:

a = 1 || „x” || "foo"
cazul a
când Int32
# ...
când String
# ...
capăt

  • Opțiunea compilatorului disable_overflow nu mai este disponibil. Pentru operațiunile de depășire, utilizați metodele &+, &-, &*.

  • Array#fill acum zboară mai repede decât un glonț, datorită înlocuirii buclei stupide cu un simplu memset;

  • Manager de cioburi (pachete), numit, paradoxal, cioburi, folosește acum algoritmul de satisfacție a dependenței Molinillo mai rapid și mai eficient găsit în CocoaPods (Swift) și Builder (Ruby).

  • Sprijin adăugat LLVM 10, care teoretic ne va oferi o oarecare creștere a productivității, stabilitate etc.

... și multe alte, după părerea mea subiectivă, îmbunătățiri mai puțin semnificative.

Aș dori să remarc că Crystal este un limbaj construit pe LLVM, care vă permite să scrieți aplicații uneori mai rapid, mai simplu și mai concis decât pe „frații” săi interpretați și, în același timp, să obțineți un binar destul de rapid ca rezultat. În comparație cu Golang, se remarcă prin OOP absolut complet, suport pentru generice și o sintaxă foarte simplă și ușor de înțeles. Scopul său este în mare măsură similar cu Nim, dar în același timp este clar concentrat pe utilizarea practică „aici și acum”, datorită căreia are în arsenalul său API multe instrumente bine documentate, convenabile și de înaltă calitate, susținute de dezvoltatori de limbaj și, prin urmare, foarte stabil.

Sursa: linux.org.ru

Adauga un comentariu