Doli një version i ri i Crystal, një gjuhë programimi e kompilueshme me sintaksë Ruby, karakteristikat kryesore të së cilës janë një runtime me një 'loop' ngjarjesh të integruar, ku të gjitha operacionet e hyrjes-daljes janë asinkrone, mbështetje për multithreading (për momentin aktivizohet me një flamur gjatë kompilimit) dhe një punë jashtëzakonisht e lehtë dhe e rehatshme me bibliotekat në C.
Duke filluar nga versioni 0.34.0, gjuha zyrtarisht fillon të ecë në mënyrë të qëndrueshme drejt një versioni të parë real (dmth. versionit 1.0).
Në versionin e ri të Crystal, mund të theksohen këto ndryshime dhe përmirësime sipas rëndësisë së tyre:
Një bibliotekë e re e logjistikës është shtuar në API Log, e cila, në ndryshim nga e kaluara, di të drejtojë mesazhet në backend të ndryshëm dhe t'i filtrojë këto mesazhe ndryshe sipas 'burimit'.
Rudimenti nga bota e zhvillimit në C, Errno dhe WinError, që u përdorën për primitivët e hyrjes-daljes, po ikin në të kaluarën falë hierarkisë së përjashtimeve IO::Error (ndërkohë, askush ende nuk e ndalon përdorimin e Errno).
Automatizimi i vendosjes së else nil nga operatori case/when/else. Kjo është bërë për të eliminuar rastin e kalimit të rastësishëm nga zhvilluesi të njërit prej degëve when në përputhje me rastet e determinuara si enum dhe kalimin përmes tipeve nga Union. Pra, për ta thënë më thjesht, ky kod nuk do të funksionojë më pa treguar një tjetër when (when Char) ose caktimin e degës else:
a = 1 || âxâ || "foo"
case a
when Int32
# âŠ
when String
# âŠ
end
Opsioni i kompilatorit disable_overflow nuk është më i disponueshëm. Për operacionet me teprim, përdorni metodat &+, &-, &*.
Array#fill tani funksionon më shpejt se ndonjëherë, falë zëvendësimit të ciklit të ngadalshëm me një memset të thjeshtë;
Menaxheri i pakove, i quajtur, siç është pak paradoksale, shards, tani përdor një algoritëm më të shpejtë dhe më efektiv për përmbushjen e varësive Molinillo, i shkoduar në CocoaPods (Swift) dhe Builder (Ruby).
Shtuar mbështetje për LLVM 10, që në parim do të na japë një rritje të produktivitetit, stabilitetit, etj.
⊠dhe shumë përmirësime të tjera, sipas mendimit tim subjektiv, më pak të rëndësishme.
Dua të theksoj se Crystal është një gjuhë e ndërtuar mbi LLVM, e cila lejon të shkruhen aplikacione ndonjëherë më shpejt, më thjeshtë dhe më saktë se në 'vëllezërit' e saj interpretuar, dhe kështu merr një binar mjaft të shpejtë. Në krahasim me Golang, ndan një OOP të plotë, mbështetje për gjenerikë dhe një sintaksë shumë të thjeshtë dhe të qartë. Nga qëllimi, është kryesisht e ngjashme me Nim, por është qartësisht e orientuar ndaj përdorimit të menjëhershëm 'këtu dhe tani', për këtë arsye ka në arsenalin e saj të API shumë mjete të dokumentuara mirë, të shkëlqyera dhe të stabilizuara nga zhvilluesit e gjuhës.
Burimi: linux.org.ru
