Crystal 0.34.0 vrygestel

'n Nuwe weergawe van Crystal is vrygestel, 'n saamgestelde programmeertaal met Ruby-sintaksis, waarvan die hoofkenmerke runtime is met 'n "ingeboude" gebeurtenislus, waarin alle I/O-bewerkings asynchronies is, ondersteuning vir multithreading (solank aangesien dit geaktiveer word deur 'n vlag tydens samestelling) en uiters eenvoudige en gerieflike werking met biblioteke in C.

Vanaf weergawe 0.34.0 begin die taal amptelik beweeg na sy eerste werklike vrystelling (dit wil sê weergawe 1.0).

Die nuwe weergawe van Crystal bevat die volgende veranderinge en verbeterings in volgorde van belangrikheid:

  • 'n Nuwe aantekenbiblioteek is by die API gevoeg Meld, wat, anders as die ou een, boodskappe na verskillende backends kan stuur en hierdie boodskappe verskillend kan filter na gelang van die "bron".

  • Grondbeginsels uit die wêreld van C-ontwikkeling, Ernne и WinFout, wat vir I/O-primitiewe gebruik word, word iets van die verlede danksy die uitsonderingshiërargie IO:: Fout (Niemand verbied egter nog die gebruik van Errno nie).

  • Verwyder outomatiese vervanging van anders nul van die operateur geval/wanneer/anders. Dit word gedoen om te verhoed dat die ontwikkelaar per ongeluk een van die takke oorslaan. wanneer wanneer ooreenstem met deterministiese gevalle soos opsommings en tipes wat deur Unie gaan. Dit wil sê, eenvoudig gestel, hierdie kode sal nie meer werk sonder om nog een te spesifiseer nie wanneer (wanneer Char) of take anders-takke:

a = 1 || 'x' || "foo"
geval a
wanneer Int32
# ...
wanneer String
# ...
einde

  • Samesteller opsie deaktiveer_oorloop nie meer beskikbaar. Vir oorloopbewerkings, gebruik die &+, &-, &* metodes.

  • Skikking#vul vlieg nou vinniger as 'n koeël, danksy die vervanging van die dom lus met een eenvoudige memset;

  • Bestuurder van skerwe (pakkette), genoem, paradoksaal genoeg, skerwe, gebruik nou die vinniger en doeltreffender Molinillo-afhanklikheidsbevredigingsalgoritme wat in CocoaPods (Swift) en Builder (Ruby) gevind word.

  • Bygevoeg ondersteuning LLVM 10, wat in teorie vir ons 'n mate van toename in produktiwiteit, stabiliteit, ens.

... en baie ander, na my subjektiewe mening, minder beduidende verbeterings.

Ek wil graag daarop let dat Crystal 'n taal is wat op LLVM gebou is, wat jou toelaat om toepassings soms vinniger, eenvoudiger en meer bondig te skryf as op sy geïnterpreteerde "broers", en terselfdertyd 'n redelik vinnige binêre kry as gevolg daarvan. In vergelyking met Golang, staan ​​dit uit met sy absoluut volledige OOP, ondersteuning vir generiese middels en 'n baie eenvoudige en verstaanbare sintaksis. Die doel daarvan is grootliks soortgelyk aan Nim, maar terselfdertyd is dit duidelik gefokus op praktiese gebruik "hier en nou", waardeur dit in sy API-arsenaal baie goed gedokumenteerde, gerieflike en hoë kwaliteit gereedskap het, ondersteun deur die taalontwikkelaars en dus baie stabiel.

Bron: linux.org.ru

Voeg 'n opmerking