Crystal 0.34.0 serbest hat berdan

Guhertoyek nû ya Crystal hate berdan, zimanek bernamesaziyê ya berhevkirî bi hevoksaziya Ruby, taybetmendiyên sereke yên ku dema xebitandinê bi lûleya bûyerê ya "çêkirî" ye, ku tê de hemî karûbarên I/O asynchronous in, piştgirî ji bo multithreading (wek dirêj ji ber ku ew di dema berhevkirinê de ji hêla ala ve hatî çalak kirin) û bi pirtûkxaneyên C re operasyona pir hêsan û hêsan e.

Bi guhertoya 0.34.0-ê dest pê dike, ziman bi fermî dest pê dike ku berbi yekem serbestberdana xweya rastîn (ango guhertoya 1.0) biçe.

Guhertoya nû ya Crystal di rêza girîngiyê de guheztin û çêtirkirinên jêrîn pêk tîne:

  • Pirtûkxaneyek nû ya têketinê li API-yê hate zêdekirin Rojname, ku, berevajî ya kevin, dikare peyaman bişîne piştên cihêreng û li gorî "çavkaniyê" van peyaman cûda fîltre bike.

  • Rudiments ji cîhana pêşveçûna C, Errno и WinError, ku ji bo primitives I/O têne bikar anîn, bi saya hiyerarşiya îstîsnayê dibin tiştek paşerojê. IO::Çewtî (lêbelê, hêj kes karanîna Errno qedexe nake).

  • Veguheztina otomatîkî ya din nil ji operatorê hate rakirin doz / dema / din. Ev tê kirin da ku pêşî li pêşdebiran neyê girtin ku yek ji şaxan bi xeletî derbas neke. heke dema lihevhatina li ser dozên diyarker ên mîna enums û derbaskirina cûreyên ji Yekîtiyê. Ango, bi hêsanî tê gotin, ev kod dê êdî bêyî destnîşankirina yekê din bixebite heke (gava Char) an peywiran wekîdi- şax:

a = 1 || 'x' || "fû"
doz a
dema Int32
#…
dema String
#…
dawî

  • Vebijarka berhevkar disable_overflow êdî peyda nabe. Ji bo operasyonên zêdebûnê, rêbazên &+, &-, &* bikar bînin.

  • Array# dagirtin naha ji fîşekekê zûtir difire, bi saya guheztina lûleya ehmeqî bi yek memsetek hêsan;

  • Rêvebirê şûşeyan (pakêtan), bi paradoksî tê gotin, shards, naha algorîtmaya razîbûna pêwendiya Molinillo ya zûtir û bikêrtir bikar tîne ku di CocoaPods (Swift) û Builder (Ruby) de tê dîtin.

  • Piştgiriya zêde kir LLVM 10, ku di teoriyê de dê hin zêdekirina hilberî, aramî, hwd bide me.

... û gelekên din, bi dîtina min a subjektîf, çêtirkirinên kêmtir girîng.

Ez dixwazim bibînim ku Crystal zimanek e ku li ser LLVM hatî çêkirin, ku dihêle hûn carinan ji "birayên" şirovekirî serîlêdanan binivîsin, û di heman demê de wekî encamek binaryek pir zû bistînin. Li gorî Golang-ê, ew ji ber OOP-a xweya bêkêmasî ya bêkêmasî, piştgirîya generîk, û hevoksaziyek pir hêsan û têgihîştî derdikeve pêş. Armanca wê bi piranî dişibihe Nim, lê di heman demê de ew eşkere li ser karanîna pratîkî "li vir û nuha" ye, ji ber vê yekê ew di cebilxaneya xwe ya API de gelek amûrên belgekirî, rehet û qalîteya bilind hene, ku ji hêla pêşdebirên ziman û ji ber vê yekê pir bi îstîqrar.

Source: linux.org.ru

Add a comment