Doli Crystal 0.34.0

ËshtĂ« publikuar njĂ« version i ri i Crystal, njĂ« gjuhĂ« programimi e kompiluar me sintaksĂ« Ruby, veçoritĂ« kryesore tĂ« sĂ« cilĂ«s janĂ« runtime me event loop tĂ« «integruar», ku tĂ« gjitha operacionet e hyrje-daljes janĂ« asinkrone, mbĂ«shtetje pĂ«r multithreading (aktualisht aktivizohet me njĂ« flamur gjatĂ« kompilimit) dhe punĂ« jashtĂ«zakonisht e thjeshtĂ« e komode me bibliotekat C.

Duke filluar nga versioni 0.34.0, gjuha nis zyrtarisht të ecë me vendosmëri drejt publikimit të parë të vërtetë (pra, versionit 1.0).

Në versionin e ri të Crystal mund të veçohen ndryshimet dhe përmirësimet e mëposhtme sipas rëndësisë së tyre:

  • NĂ« API Ă«shtĂ« shtuar njĂ« bibliotekĂ« e re logimi Log, e cila, ndryshe nga e vjetra, mund tĂ« dĂ«rgojĂ« mesazhe nĂ« backend-e tĂ« ndryshme dhe t’i filtrojĂ« ato nĂ« mĂ«nyra tĂ« ndryshme nĂ« varĂ«si tĂ« «burimit».

  • Mbeturinat nga bota e zhvillimit nĂ« C, Errno dhe WinError, qĂ« pĂ«rdoreshin pĂ«r primitivĂ«t e hyrje-daljes, po i lĂ«nĂ« vendin sĂ« shkuarĂ«s falĂ« hierarkisĂ« sĂ« pĂ«rjashtimeve IO::Error (megjithatĂ«, pĂ«rdorimi i Errno ende nuk Ă«shtĂ« i ndaluar).

  • ËshtĂ« hequr zĂ«vendĂ«simi automatik i else nil nga operatori case/when/else. Kjo Ă«shtĂ« bĂ«rĂ« pĂ«r tĂ« pĂ«rjashtuar lĂ«nien aksidentale nga zhvilluesi tĂ« njĂ« prej degĂ«ve when gjatĂ« pĂ«rputhjes sĂ« rasteve deterministe si enum-et dhe kalimit nĂ«pĂ«r llojet nga Union. Me fjalĂ« tĂ« thjeshta, kodi i mĂ«poshtĂ«m nuk do tĂ« funksionojĂ« mĂ« pa specifikuar edhe njĂ« when (when Char) ose pa pĂ«rcaktuar degĂ«n else-else:

a = 1 || ‘x’ || "foo"
case a
when Int32
# 

when String
# 

end

  • Opsioni i kompiluesit disable_overflow nuk Ă«shtĂ« mĂ« i disponueshĂ«m. PĂ«r operacione me overflow pĂ«rdorni metodat &+, &-, &*.

  • Array#fill tani Ă«shtĂ« mĂ« i shpejtĂ« se plumbi, falĂ« zĂ«vendĂ«simit tĂ« ciklit tĂ« rĂ«ndomtĂ« me njĂ« memset tĂ« vetĂ«m tĂ« thjeshtĂ«;

  • Menaxheri i shards (paketave), qĂ« paradoksalisht quhen shards, tani pĂ«rdor algoritmin mĂ« tĂ« shpejtĂ« dhe mĂ« efikas Molinillo pĂ«r zgjidhjen e varĂ«sive, i huazuar nga CocoaPods (Swift) dhe Builder (Ruby).

  • Shtuar mbĂ«shtetje LLVM 10, qĂ« teorikisht duhet tĂ« sjellĂ« njĂ« rritje tĂ« performancĂ«s, stabilitetit, etj.


 dhe shumë përmirësime të tjera, sipas mendimit tim subjektiv, më pak thelbësore.

Vlen tĂ« theksohet se Crystal Ă«shtĂ« njĂ« gjuhĂ« e ndĂ«rtuar mbi LLVM, qĂ« ju lejon tĂ« shkruani aplikacione ndonjĂ«herĂ« mĂ« shpejt, mĂ« thjesht dhe mĂ« nĂ« mĂ«nyrĂ« mĂ« tĂ« pĂ«rmbledhur se sa me “simotrat” e saj tĂ« interpretuara, duke prodhuar njĂ« binar mjaft tĂ« shpejtĂ«. Krahasuar me Golang, dallohet pĂ«r OOP plotĂ«sisht funksional, mbĂ«shtetje pĂ«r generics dhe njĂ« sintaksĂ« shumĂ« tĂ« thjeshtĂ« e tĂ« kuptueshme. PĂ«r nga qĂ«llimi i pĂ«rdorimit, nĂ« shumĂ« aspekte i ngjan Nim, por Ă«shtĂ« i orientuar qartĂ« drejt pĂ«rdorimit praktik “kĂ«tu dhe tani”, prandaj nĂ« arsenalin e vet API ka shumĂ« mjete tĂ« pĂ«rshtatshme e cilĂ«sore, me dokumentim tĂ« mirĂ«, tĂ« mbĂ«shtetura nga zhvilluesit e gjuhĂ«s dhe pĂ«r kĂ«tĂ« arsye mjaft tĂ« qĂ«ndrueshme.

Burimi: linux.org.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster