Crystal 0.34.0 rilaxxat

Ġiet rilaxxata verżjoni ġdida ta 'Crystal, lingwa ta' programmar ikkumpilata b'sintassi Ruby, li l-karatteristiċi ewlenin tagħha huma runtime b'linja ta 'avvenimenti "inkorporata", li fiha l-operazzjonijiet I/O kollha huma asinkroniċi, appoġġ għal multithreading (sakemm peress li hija attivata minn bandiera waqt il-kumpilazzjoni) u tħaddim estremament sempliċi u konvenjenti bil-libreriji f'C.

Tibda mill-verżjoni 0.34.0, il-lingwa uffiċjalment tibda timxi lejn l-ewwel rilaxx reali tagħha (jiġifieri l-verżjoni 1.0).

Il-verżjoni l-ġdida ta’ Crystal tinkludi l-bidliet u t-titjib li ġejjin f’ordni ta’ importanza:

  • Ġiet miżjuda librerija tal-illoggjar ġdida mal-API log, li, b'differenza mill-antik, tista 'tibgħat messaġġi lil backends differenti u tiffiltra dawn il-messaġġi b'mod differenti skont is-"sors".

  • Rudimenti mid-dinja tal-iżvilupp C, Errno и WinError, użati għal primitives I/O, qed isiru xi ħaġa tal-passat grazzi għall-ġerarkija tal-eċċezzjoni IO::Żball (madankollu, ħadd għadu ma jipprojbixxi l-użu ta' Errno).

  • Imneħħija s-sostituzzjoni awtomatika ta' inkella xejn mill-operatur każ / meta / inkella. Dan isir sabiex jiġi evitat li l-iżviluppatur jaqbeż aċċidentalment waħda mill-fergħat. meta meta tqabbel fuq każijiet deterministiċi bħal enums u tgħaddi minn tipi mill-Unjoni. Jiġifieri, fi kliem sempliċi, dan il-kodiċi ma jibqax jaħdem mingħajr ma jispeċifika wieħed ieħor meta (meta Char) jew kompiti inkella-fergħat:

a = 1 || 'x' || "foo"
każ a
meta Int32
#…
meta String
#…
aħħar

  • Għażla tal-kompilatur disable_overflow m'għadux disponibbli. Għal operazzjonijiet ta' overflow, uża l-metodi &+, &-, &*.

  • Array # imla issa jtir aktar malajr minn bullet, grazzi għas-sostituzzjoni tal-linja stupida b'memset sempliċi wieħed;

  • Maniġer tal-frak (pakketti), imsejjaħ, paradossalment, siekta, Issa juża l-algoritmu ta 'sodisfazzjon tad-dipendenza ta' Molinillo aktar mgħaġġel u aktar effiċjenti misjub f'CocoaPods (Swift) u Builder (Ruby).

  • Appoġġ miżjud LLVM 10, li fit-teorija se tagħtina xi żieda fil-produttività, l-istabbiltà, eċċ.

... u ħafna titjib ieħor, fl-opinjoni suġġettiva tiegħi, inqas sinifikanti.

Nixtieq ninnota li Crystal hija lingwa mibnija fuq LLVM, li tippermettilek tikteb applikazzjonijiet kultant aktar malajr, aktar sempliċi u b'mod aktar konċiż milli fuq "aħwa" interpretati tagħha, u fl-istess ħin tikseb binarju pjuttost veloċi bħala riżultat. Meta mqabbel ma 'Golang, jispikka minħabba l-OOP assolutament sħiħ tiegħu, l-appoġġ għall-ġeneriċi, u sintassi sempliċi ħafna u li tinftiehem. L-iskop tiegħu huwa fil-biċċa l-kbira simili għal Nim, iżda fl-istess ħin huwa ffukat b'mod ċar fuq l-użu prattiku "hawn u issa", li grazzi għalih għandu fl-armament API tiegħu ħafna għodod dokumentati tajjeb, konvenjenti u ta 'kwalità għolja, appoġġjati mill- żviluppaturi tal-lingwa u għalhekk stabbli ħafna.

Sors: linux.org.ru

Żid kumment