Crystal 0.34.0 tso tawm

Ib tug tshiab version ntawm Crystal tau raug tso tawm, ib tug compiled programming lus nrog Ruby syntax, cov yam ntxwv tseem ceeb ntawm uas yog runtime nrog ib tug "built-in" kev tshwm sim voj, nyob rau hauv uas tag nrho cov I / O ua hauj lwm yog asynchronous, kev them nyiaj yug rau multithreading (ntev li ntev tau). raws li nws tau qhib los ntawm tus chij thaum muab tso ua ke) thiab ua haujlwm yooj yim thiab yooj yim nrog cov tsev qiv ntawv hauv C.

Pib nrog version 0.34.0, cov lus pib txav mus rau nws thawj qhov tso tawm tiag tiag (piv txwv li version 1.0).

Tus tshiab version ntawm Crystal suav nrog cov kev hloov pauv thiab kev txhim kho hauv qab no raws li qhov tseem ceeb:

  • Lub tsev qiv ntawv nkag tshiab tau ntxiv rau API nkag mus, uas, tsis zoo li qub, tuaj yeem xa cov lus rau cov backends sib txawv thiab lim cov lus sib txawv nyob ntawm "qhov chaw".

  • Rudiments los ntawm lub ntiaj teb no ntawm C txoj kev loj hlob, Errno ΠΈ WinError, siv rau I / O primitives, tau dhau los ua ib qho ntawm yav dhau los ua tsaug rau qhov tshwj xeeb hierarchy IO:: yuam kev (txawm li cas los xij, tsis muaj leej twg txwv tsis pub siv Errno tseem).

  • Tshem tawm tsis siv neeg hloov lwm tus nil los ntawm tus neeg teb xov tooj cas/when/lse. Qhov no yog ua tiav txhawm rau tiv thaiv tus tsim tawm ntawm kev yuam kev hla ib qho ntawm cov ceg. thaum thaum sib txuam ntawm qhov kev txiav txim siab zoo li enums thiab dhau los ntawm hom los ntawm Union. Ntawd yog, yooj yim tso, cov cai no yuav tsis ua haujlwm yam tsis tau hais qhia ib qho ntxiv thaum (thaum Char) lossis cov haujlwm lwm tus- ceg:

ib = 1 || 'x' || "foo"
cas a
thaum Int32
#…
thaum String
#…
kawg

  • Compiler kev xaiv disable_overflow tsis muaj lawm. Rau kev khiav dej num, siv cov txheej txheem &+, &-, &*.

  • Array#fill tam sim no yoov tshaj ib lub mos txwv, ua tsaug rau hloov lub voj ruam ruam nrog ib tug memset yooj yim;

  • Manager ntawm shards (pob), hu ua, paradoxically, shards, tam sim no siv qhov nrawm dua thiab ua tau zoo dua Molinillo kev txaus siab algorithm pom hauv CocoaPods (Swift) thiab Builder (Ruby).

  • Ntxiv kev txhawb nqa LWM 10, uas nyob rau hauv txoj kev xav yuav muab rau peb ib co nce nyob rau hauv productivity, stability, thiab lwm yam.

... thiab ntau lwm yam, hauv kuv lub tswv yim, tsis tshua muaj kev txhim kho.

Kuv xav kom nco ntsoov tias Crystal yog ib hom lus tsim los ntawm LLVM, uas tso cai rau koj los sau cov ntawv thov qee zaum sai dua, yooj yim dua thiab nrawm dua li ntawm nws txhais "cov kwv tij", thiab tib lub sijhawm tau txais kev sib tw nrawm nrawm raws li qhov tshwm sim. Muab piv rau Golang, nws sawv tawm vim nws cov OOP tag nrho, kev txhawb nqa rau generics, thiab ib qho yooj yim heev thiab nkag siab syntax. Nws lub hom phiaj yog qhov zoo ib yam li Nim, tab sis tib lub sijhawm nws tau tsom mus rau kev siv tswv yim "ntawm no thiab tam sim no", ua tsaug rau nws muaj nyob rau hauv nws cov API arsenal ntau cov ntaub ntawv zoo, yooj yim thiab cov cuab yeej zoo, txhawb nqa los ntawm cov lus developers thiab yog li ntawd ruaj khov heev.

Tau qhov twg los: linux.org.ru ua

Ntxiv ib saib