Crystal 0.34.0 udgivet

En ny version af Crystal er blevet frigivet, et kompileret programmeringssprog med Ruby-syntaks, hvis hovedfunktioner er runtime med en "indbygget" hændelsesløkke, hvor alle I/O-operationer er asynkrone, understøttelse af multithreading (så længe da det er aktiveret af et flag under kompilering) og ekstremt enkel og bekvem betjening med biblioteker i C.

Fra version 0.34.0 begynder sproget officielt at bevæge sig mod sin første rigtige udgivelse (dvs. version 1.0).

Den nye version af Crystal indeholder følgende ændringer og forbedringer i rækkefølge:

  • Et nyt logbibliotek er blevet tilføjet til API'en Log, som i modsætning til den gamle kan sende beskeder til forskellige backends og filtrere disse beskeder forskelligt afhængigt af "kilden".

  • Rudimenter fra C-udviklingens verden, Errno и WinError, brugt til I/O-primitiver, er ved at blive fortid takket være undtagelseshierarkiet IO::Fejl (ingen forbyder dog at bruge Errno endnu).

  • Fjernet automatisk substitution af andet nul fra operatøren sag/hvornår/andet. Dette gøres for at forhindre, at udvikleren ved et uheld springer en af ​​grenene over. hvornår når der matches på deterministiske tilfælde som enums og passerende typer fra Union. Det vil sige, ganske enkelt sagt, denne kode vil ikke længere fungere uden at angive en mere hvornår (når Char) eller opgaver andet-grene:

a = 1 || 'x' || "foo"
tilfælde a
når Int32
# ...
når String
# ...
ende

  • Compiler mulighed deaktiver_overløb ikke længere tilgængelig. Til overløbsoperationer skal du bruge metoderne &+, &-, &*.

  • Array#fill flyver nu hurtigere end en kugle, takket være at erstatte den dumme løkke med et enkelt memset;

  • Manager af shards (pakker), kaldet paradoksalt nok, skårene, bruger nu den hurtigere og mere effektive Molinillo-afhængighedstilfredshedsalgoritme, der findes i CocoaPods (Swift) og Builder (Ruby).

  • Tilføjet support LLVM 10, hvilket i teorien vil give os en vis stigning i produktivitet, stabilitet mv.

... og mange andre, efter min subjektive mening, mindre væsentlige forbedringer.

Jeg vil gerne bemærke, at Crystal er et sprog bygget på LLVM, som giver dig mulighed for at skrive applikationer nogle gange hurtigere, enklere og mere kortfattet end på dets fortolkede "brødre", og samtidig få en ret hurtig binær som resultat. Sammenlignet med Golang skiller den sig ud på grund af dens absolut fuldgyldige OOP, understøttelse af generiske stoffer og en meget enkel og forståelig syntaks. Dens formål ligner stort set Nim, men samtidig er den tydeligt fokuseret på praktisk brug "her og nu", takket være den har i sit API-arsenal mange veldokumenterede, praktiske og højkvalitetsværktøjer, understøttet af sprogudviklere og derfor meget stabile.

Kilde: linux.org.ru

Tilføj en kommentar