Crystal 0.34.0 útbrocht

In nije ferzje fan Crystal is frijlitten, in kompilearre programmeartaal mei Ruby-syntaksis, wêrfan de haadfunksjes runtime binne mei in "ynboude" evenemintloop, wêryn alle I/O-operaasjes asynchronous binne, stipe foar multithreading (sa lang sa't it wurdt ynskeakele troch in flagge tidens kompilaasje) en ekstreem ienfâldige en handige operaasje mei biblioteken yn C.

Begjinnend mei ferzje 0.34.0, begjint de taal offisjeel te bewegen nei syn earste echte release (dus ferzje 1.0).

De nije ferzje fan Crystal omfettet de folgjende wizigingen en ferbetterings yn folchoarder fan belang:

  • In nije logbibleteek is tafoege oan de API Lochboek, dy't, yn tsjinstelling ta de âlde, berjochten nei ferskate backends stjoere kin en dizze berjochten oars filterje ôfhinklik fan 'e "boarne".

  • Rudiminten út 'e wrâld fan C-ûntwikkeling, Errno и WinError, brûkt foar I/O-primitiven, wurde in ding fan it ferline troch de útsûnderingshierargy IO :: Flater (noch gjinien ferbiedt it brûken fan Errno noch).

  • Fuortsmite automatyske ferfanging fan oars nul út de operator gefal / wannear / oars. Dit wurdt dien om te foarkommen dat de ûntwikkelder per ongeluk ien fan 'e tûken oerslaan. Wannear by it oerienkommen fan deterministyske gefallen lykas enums en it trochjaan fan typen fan Union. Dat is, gewoanwei, dizze koade sil net mear wurkje sûnder ien mear op te jaan Wannear (wannear Char) of taken oars-tûken:

a = 1 || 'x' || "foo"
gefal a
wannear Int32
#…
wannear String
#…
ein

  • Compiler opsje útskeakelje_oerstream net langer beskikber. Brûk de metoaden &+, &-, &* foar oerstreamoperaasjes.

  • Array #folje fljocht no flugger as in kûgel, troch it ferfangen fan de domme lus mei ien ienfâldige memset;

  • Manager fan shards (pakketten), neamd, paradoksaal genôch, shards, brûkt no it flugger en effisjinter Molinillo-ôfhinklikensbefredigingsalgoritme fûn yn CocoaPods (Swift) en Builder (Ruby).

  • Stipe tafoege LLVM 10, dy't yn teory ús wat ferheging fan produktiviteit, stabiliteit, ensfh.

... en in protte oare, nei myn subjektive miening, minder signifikante ferbetteringen.

Ik wol opmerke dat Crystal in taal is boud op LLVM, wêrtroch jo applikaasjes soms rapper, ienfâldiger en bondiger kinne skriuwe dan op syn ynterpretearre "bruorren", en tagelyk in frij rappe binêr as resultaat krije. Yn ferliking mei Golang stiet it út troch syn absolút folweardige OOP, stipe foar generika, en in heul ienfâldige en begryplike syntaksis. It doel is foar in grut part fergelykber mei Nim, mar tagelyk is it dúdlik rjochte op praktysk gebrûk "hjir en no", wêrtroch't it yn har API-arsenal in protte goed dokuminteare, handige en heechweardige ark hat, stipe troch de taalûntwikkelders en dus tige stabyl.

Boarne: linux.org.ru

Add a comment