Kristal 0.34.0 uitgebracht

Er is een nieuwe versie van Crystal uitgebracht, een gecompileerde programmeertaal met Ruby-syntaxis, waarvan de belangrijkste kenmerken runtime zijn met een "ingebouwde" gebeurtenislus, waarin alle I/O-bewerkingen asynchroon zijn, ondersteuning voor multithreading (zolang omdat dit mogelijk wordt gemaakt door een vlag tijdens het compileren) en uiterst eenvoudige en handige bediening met bibliotheken in C.

Vanaf versie 0.34.0 begint de taal officieel op weg te gaan naar de eerste echte release (dat wil zeggen versie 1.0).

De nieuwe versie van Crystal bevat de volgende wijzigingen en verbeteringen, in volgorde van belangrijkheid:

  • Er is een nieuwe logboekbibliotheek aan de API toegevoegd Log, die, in tegenstelling tot de oude, berichten naar verschillende backends kan sturen en deze berichten verschillend kan filteren, afhankelijk van de “bron”.

  • Beginselen uit de wereld van C-ontwikkeling, errno и WinFout, gebruikt voor I/O-primitieven, behoren tot het verleden dankzij de uitzonderingshiërarchie IO::Fout (niemand verbiedt echter nog het gebruik van Errno).

  • Automatische vervanging van else nil bij de operator verwijderd geval/wanneer/anders. Dit wordt gedaan om te voorkomen dat de ontwikkelaar per ongeluk een van de branches overslaat. wanneer bij het matchen van deterministische gevallen zoals enums en het doorgeven van typen uit Union. Dat wil zeggen, simpel gezegd: deze code zal niet langer werken zonder er nog een op te geven wanneer (wanneer Char) of taken anders-takken:

a = 1 || 'x' || "foe"
geval een
wanneer Int32

wanneer String

einde

  • Compiler-optie uitschakelen_overflow niet meer beschikbaar. Voor overloopbewerkingen gebruikt u de methoden &+, &-, &*.

  • Array#vul vliegt nu sneller dan een kogel, dankzij het vervangen van de stomme lus door één simpele memset;

  • Manager van shards (pakketten), paradoxaal genoeg genaamd scherven, maakt nu gebruik van het snellere en efficiëntere Molinillo-algoritme voor afhankelijkheidstevredenheid dat te vinden is in CocoaPods (Swift) en Builder (Ruby).

  • Ondersteuning toegevoegd LLVM 10, wat ons in theorie enige toename in productiviteit, stabiliteit, enz. zal opleveren.

... en vele andere, naar mijn subjectieve mening, minder significante verbeteringen.

Ik zou willen opmerken dat Crystal een taal is die is gebouwd op LLVM, waarmee je applicaties soms sneller, eenvoudiger en beknopter kunt schrijven dan op de geïnterpreteerde "broers", en tegelijkertijd een redelijk snel binair bestand krijgt. Vergeleken met Golang valt het op door zijn absoluut volwaardige OOP, ondersteuning voor generieke geneesmiddelen en een zeer eenvoudige en begrijpelijke syntaxis. Het doel ervan is grotendeels vergelijkbaar met dat van Nim, maar is tegelijkertijd duidelijk gericht op praktisch gebruik ‘hier en nu’, waardoor het in zijn API-arsenaal over veel goed gedocumenteerde, handige en hoogwaardige tools beschikt, ondersteund door de taalontwikkelaars en daarom zeer stabiel.

Bron: linux.org.ru

Voeg een reactie