Usa ka bag-ong bersyon sa Crystal, usa ka gi-compile nga programming language nga adunay Ruby syntax, ang gipagawas na. Ang mga nag-unang bahin niini mao ang runtime nga adunay built-in nga event loop diin ang tanan nga input/output operations kay asynchronous, suporta para sa multithreading (karon gipagana sa usa ka flag atol sa compilation), ug talagsaon nga simple ug kombenyente nga trabaho uban sa mga C libraries.
Sugod sa bersyon 0.34.0, ang pinulongan opisyal nga nagsugod sa makanunayon nga pagmartsa padulong sa una nga tinuod nga pagpagawas niini (pananglitan bersyon 1.0).
Ang bag-ong bersyon sa Crystal naglakip sa mosunod nga mga pagbag-o ug mga pagpaayo, sumala sa kahinungdanon:
Usa ka bag-ong logging library ang gidugang sa API. Log, nga, dili sama sa daan, maka-ruta sa mga mensahe ngadto sa lain-laing mga backend ug makasala niini nga mga mensahe nga lahi depende sa "tinubdan".
Mga sukaranan gikan sa kalibutan sa pagpalambo sa C, Errno и WinError, nga gigamit para sa mga I/O primitive, nahimong butang sa nangagi tungod sa exception hierarchy. IO::Sayop (apan, wala pa'y nagdili sa paggamit sa Errno).
Gitangtang ang awtomatikong pag-ilis sa else nil gikan sa operator kaso/kanus-a/kung diliGihimo kini aron malikayan sa usa ka developer nga aksidente nga malaktawan ang usa sa mga sanga. sa diha nga kon mag-match sa mga deterministic nga kaso sama sa enums ug traversing types gikan sa Union. Busa, sa yanong pagkasulti, ang code nga sama niini dili na mogana kon dili mag-specify og lain. sa diha nga (kung Char) o mga buluhaton lain-mga sanga:
a = 1 || 'x' || "foo"
kaso a
sa dihang Int32
#…
kung ang String
#…
katapusan
Opsyon sa tigkompyuter disable_overflow dili na magamit. Para sa mga operasyon sa overflow, gamita ang mga pamaagi nga &+, &-, &*.
Array#fill karon mas paspas molupad kay sa bala, salamat sa pag-ilis sa binuang nga loop sa usa ka yano nga memset;
Usa ka manedyer sa mga shard (mga pakete), nga gitawag, sa laing pagkasulti, shards, karon naggamit sa mas paspas ug mas episyente nga Molinillo dependency resolution algorithm, nga giinspirar sa CocoaPods (Swift) ug Builder (Ruby).
Gidugang nga suporta LLVM 10, nga sa teyorya makahatag kanato og dugang nga produktibidad, kalig-on, ug uban pa.
…ug daghan pa, sa akong subhetibong opinyon, dili kaayo hinungdanon nga mga kalamboan.
Angayan nga matikdan nga ang Crystal, usa ka pinulongan nga gitukod sa LLVM, nagtugot sa mas paspas, mas simple, ug mas mubo nga pagpalambo sa aplikasyon kaysa sa mga gihubad nga katugbang niini, samtang naghimo gihapon og medyo paspas nga binary. Ang Golang talagsaon tungod sa hingpit nga magamit nga OOP, suporta alang sa mga generic, ug usa ka yano ug klaro nga syntax. Samtang ang gituyo nga katuyoan niini halos parehas sa Nim, kini klaro nga naka-focus sa praktikal, real-time nga paggamit. Ang API niini adunay daghang maayo nga dokumentado, user-friendly, ug taas nga kalidad nga mga himan, nga gisuportahan sa mga developer sa pinulongan ug busa lig-on kaayo.
Source: linux.org.ru
