Crystal 0.34.0 lage

Yo te pibliye yon nouvo vèsyon Crystal, yon langaj pwogramasyon konpile ak sentaks Ruby, karakteristik prensipal yo se ègzekutabl ak yon bouk evènman "enkòpore", kote tout operasyon I/O yo asynchrone, sipò pou multithreading (osi lontan. kòm li se pèmèt pa yon drapo pandan konpilasyon) ak operasyon trè senp ak pratik ak bibliyotèk nan C.

Kòmanse ak vèsyon 0.34.0, lang lan ofisyèlman kòmanse avanse nan direksyon premye lage reyèl li (sa vle di vèsyon 1.0).

Nouvo vèsyon Crystal gen ladan chanjman sa yo ak amelyorasyon nan lòd enpòtans:

  • Yon nouvo bibliyotèk anrejistreman te ajoute nan API a Log, ki, kontrèman ak ansyen an, ka voye mesaj nan backend diferan epi filtre mesaj sa yo yon fason diferan depann sou "sous la".

  • Rudiments soti nan mond lan nan devlopman C, Erè и WinError, yo itilize pou primitif I/O, yo vin tounen yon bagay nan tan lontan gras ak yerachi eksepsyon yo. IO::Erè (sepandan, pèsonn pa entèdi itilize Errno ankò).

  • Retire otomatik sibstitisyon nan lòt bagay nil nan operatè a ka/lè/lòt bagay. Sa a se fè yo nan lòd yo anpeche pwomotè a soti nan aksidantèlman sote youn nan branch yo. lè matche sou ka detèminist tankou enums ak pase nan kalite soti nan Inyon. Sa vle di, tou senpleman, kòd sa a p ap travay ankò san yo pa espesifye yon lòt ankò (lè Char) oswa travay Lòt Bagay-branch:

yon = 1 || 'x' || "foo"
ka a
lè Int32
#…
lè String
#…
fen

  • Opsyon konpilatè enfim_debòde pa disponib ankò. Pou operasyon debòde, sèvi ak metòd &+, &-, &* yo.

  • Etalaj # ranpli kounye a vole pi vit pase yon bal, gras a ranplase bouk estipid la ak yon sèl memset senp;

  • Manadjè shards (pake), yo rele, paradoksal, fragman, kounye a itilize algorithm satisfaksyon depandans Molinillo ki pi rapid ak pi efikas yo te jwenn nan CocoaPods (Swift) ak Builder (Ruby).

  • Te ajoute sipò LLVM NAN, ki nan teyori pral ba nou kèk ogmantasyon nan pwodiktivite, estabilite, elatriye.

... ak anpil lòt, nan opinyon subjectif mwen, amelyorasyon mwens enpòtan.

Mwen ta renmen remake ke Crystal se yon lang ki bati sou LLVM, ki pèmèt ou ekri aplikasyon pafwa pi vit, pi senp ak pi kout pase sou "frè" li yo entèprete, epi an menm tan an jwenn yon binè jistis vit kòm yon rezilta. Konpare ak Golang, li parèt aklè akòz OOP totalman li yo, sipò pou jenerik, ak yon sentaks trè senp ak konprann. Objektif li se lajman menm jan ak Nim, men an menm tan an li klèman konsantre sou itilizasyon pratik "isit la ak kounye a", gras a ki li gen nan asenal API li yo anpil zouti ki byen dokimante, pratik ak bon jan kalite, sipòte pa la. devlopè lang ak Se poutèt sa trè estab.

Sous: linux.org.ru

Add nouvo kòmantè