Crystal 0.34.0 utgitt

En ny versjon av Crystal har blitt utgitt, et kompilert programmeringsspråk med Ruby-syntaks, hvor hovedtrekkene er kjøretid med en "innebygd" hendelsesløkke, der alle I/O-operasjoner er asynkrone, støtte for multithreading (så lenge som det er aktivert av et flagg under kompilering) og ekstremt enkel og praktisk betjening med biblioteker i C.

Fra og med versjon 0.34.0 begynner språket offisielt å bevege seg mot sin første virkelige utgivelse (dvs. versjon 1.0).

Den nye versjonen av Crystal inkluderer følgende endringer og forbedringer i viktig rekkefølge:

  • Et nytt loggbibliotek er lagt til API Logg, som, i motsetning til den gamle, kan sende meldinger til forskjellige backends og filtrere disse meldingene forskjellig avhengig av "kilden".

  • Rudimenter fra C-utviklingens verden, Errno и WinError, brukt for I/O-primitiver, er i ferd med å bli en saga blott takket være unntakshierarkiet IO::Feil (men ingen forbyr bruk av Errno ennå).

  • Fjernet automatisk erstatning av annet null fra operatøren sak/når/annet. Dette gjøres for å forhindre at utvikleren ved et uhell hopper over en av grenene. når når du matcher på deterministiske tilfeller som enums og passerer gjennom typer fra Union. Det vil si, enkelt sagt, denne koden vil ikke lenger fungere uten å spesifisere en til når (når Char) eller oppgaver ellers- grener:

a = 1 || 'x' || "foo"
sak a
når Int32
#…
når String
#…
slutt

  • Kompilatoralternativ deaktiver_overløp ikke lenger tilgjengelig. For overløpsoperasjoner, bruk metodene &+, &-, &*.

  • Matrise#fyll flyr nå raskere enn en kule, takket være å erstatte den dumme løkken med ett enkelt memset;

  • Manager for shards (pakker), kalt paradoksalt nok, skår, bruker nå den raskere og mer effektive Molinillo-avhengighetstilfredshetsalgoritmen som finnes i CocoaPods (Swift) og Builder (Ruby).

  • Lagt til støtte LLVM 10, som i teorien vil gi oss en viss økning i produktivitet, stabilitet osv.

... og mange andre, etter min subjektive mening, mindre signifikante forbedringer.

Jeg vil merke meg at Crystal er et språk bygget på LLVM, som lar deg skrive applikasjoner noen ganger raskere, enklere og mer konsist enn på sine tolkede "brødre", og samtidig få en ganske rask binær som et resultat. Sammenlignet med Golang skiller den seg ut på grunn av sin absolutt fullverdige OOP, støtte for generiske stoffer og en veldig enkel og forståelig syntaks. Dens formål er stort sett lik Nim, men samtidig er det tydelig fokusert på praktisk bruk "her og nå", takket være at det i sitt API-arsenal har mange veldokumenterte, praktiske og høykvalitetsverktøy, støttet av språkutviklere og derfor svært stabile.

Kilde: linux.org.ru

Legg til en kommentar