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