Rhyddhawyd Crystal 0.34.0

Mae fersiwn newydd o Crystal wedi'i ryddhau, iaith raglennu gryno gyda chystrawen Ruby, a'i phrif nodweddion yw amser rhedeg gyda dolen digwyddiad “cynwysedig”, lle mae'r holl weithrediadau I / O yn asyncronig, cefnogaeth ar gyfer aml-edau (cyhyd â gan ei fod yn cael ei alluogi gan faner wrth ei lunio) a gweithrediad hynod o syml a chyfleus gyda llyfrgelloedd yn C.

Gan ddechrau gyda fersiwn 0.34.0, mae'r iaith yn swyddogol yn dechrau symud tuag at ei rhyddhau go iawn cyntaf (h.y. fersiwn 1.0).

Mae'r fersiwn newydd o Crystal yn cynnwys y newidiadau a'r gwelliannau canlynol yn nhrefn pwysigrwydd:

  • Mae llyfrgell logio newydd wedi'i hychwanegu at yr API Log, sydd, yn wahanol i'r hen un, yn gallu anfon negeseuon i wahanol gefnlenni a hidlo'r negeseuon hyn yn wahanol yn dibynnu ar y "ffynhonnell".

  • Elfennau o fyd datblygiad C, Errno и WinGwall, a ddefnyddir ar gyfer cyntefig I/O, yn dod yn rhywbeth o'r gorffennol diolch i'r hierarchaeth eithriadau IO::Gwall (fodd bynnag, nid oes neb yn gwahardd defnyddio Errno eto).

  • Dileu amnewidiad awtomatig arall o ddim oddi wrth y gweithredwr achos/pryd/arall. Gwneir hyn er mwyn atal y datblygwr rhag sgipio un o'r canghennau yn ddamweiniol. pan wrth baru achosion penderfynol fel enums a phasio trwy fathau o Undeb. Hynny yw, yn syml, ni fydd y cod hwn yn gweithio mwyach heb nodi un arall pan (pan Torgoch) neu dasgau arall-canghennau:

a = 1 || 'x'|| "foo"
achos a
pan fydd Int32
#…
pan Llinyn
#…
diwedd

  • Opsiwn casglwr analluogi_gorlif ddim ar gael mwyach. Ar gyfer gweithrediadau gorlif, defnyddiwch y dulliau &+, &-, &*.

  • Arae#llenwi bellach yn hedfan yn gyflymach na bwled, diolch i ddisodli'r ddolen wirion gydag un memset syml;

  • Galwodd rheolwr shards (pecynnau), yn baradocsaidd, shards, bellach yn defnyddio'r algorithm boddhad dibyniaeth Molinillo cyflymach a mwy effeithlon a geir yn CocoaPods (Swift) ac Builder (Ruby).

  • Cefnogaeth ychwanegol LLVM 10, a fydd, mewn theori, yn rhoi rhywfaint o gynnydd i ni mewn cynhyrchiant, sefydlogrwydd, ac ati.

... a llawer o welliannau eraill, yn fy marn oddrychol i, llai arwyddocaol.

Hoffwn nodi bod Crystal yn iaith sydd wedi'i hadeiladu ar LLVM, sy'n caniatáu ichi ysgrifennu ceisiadau weithiau'n gyflymach, yn symlach ac yn fwy cryno nag ar ei “frodyr” a ddehonglir, ac ar yr un pryd yn cael deuaidd eithaf cyflym o ganlyniad. O'i gymharu â Golang, mae'n sefyll allan oherwydd ei OOP cwbl lawn, cefnogaeth i generig, a chystrawen syml a dealladwy iawn. Mae ei ddiben yn debyg i raddau helaeth i Nim, ond ar yr un pryd mae'n canolbwyntio'n glir ar ddefnydd ymarferol “yma ac yn awr”, diolch i'r hyn y mae ganddo yn ei arsenal API lawer o offer cyfleus ac o ansawdd uchel sydd wedi'u dogfennu'n dda, a gefnogir gan y datblygwyr iaith ac felly yn sefydlog iawn.

Ffynhonnell: linux.org.ru

Ychwanegu sylw