Kukhishwe inguqulo entsha ye-Crystal, ulimi oludidiyelwe lokuhlela olune-syntax ye-Ruby. Izici zayo eziyinhloko isikhathi sokusebenza esineluphu yomcimbi eyakhelwe ngaphakathi lapho yonke imisebenzi yokufaka/yokukhiphayo ihambisanayo, isekela ukufunda okuningi (okwamanje kunikwe amandla ifulege ngesikhathi sokuhlanganiswa), nomsebenzi olula ngendlela emangalisayo futhi olula ngemitapo yolwazi yakwa-C.
Kusukela ngenguqulo 0.34.0, ulimi luqala ngokusemthethweni imashi yalo engaguquki lubheke ekukhululweni kwalo kokuqala (okungukuthi inguqulo 1.0).
Inguqulo entsha ye-Crystal ihlanganisa izinguquko ezilandelayo kanye nentuthuko, ngokulandelana kokubaluleka:
Ilabhulali entsha yokungena yengezwe ku-API. Ngena, okuyinto, ngokungafani nendala, engahambisa imilayezo kuma-backend ahlukene futhi ihlunge le milayezo ngokuhlukile kuye ngokuthi "umthombo".
I-Rudiments evela emhlabeni wokuthuthukiswa kwe-C, Errno и I-WinError, esetshenziselwa i-I/O primitives, isiba yinto yesikhathi esidlule ngenxa yesigaba esihlukile IO::Iphutha (kodwa-ke, akekho osavimbela ukusetshenziswa kwe-Errno).
Kukhishwe ukufaka esikhundleni okuzenzakalelayo kokunye akukho ku-opharetha icala/nini/okunyeLokhu kwenzelwa ukuvimbela umthuthukisi ukuthi angeqe ngephutha elinye lamagatsha. nini uma kuqhathaniswa ezimweni ezinqumayo njenge-enum nezinhlobo ezinqamulayo ezivela ku-Union. Ngakho-ke, ukuyibeka kalula, ikhodi efana nalena ngeke isasebenza ngaphandle kokucacisa enye. nini (uma Char) noma imisebenzi futhi-amagatsha:
a = 1 || 'x' || "foo"
icala a
lapho Int32
#…
lapho String
#…
ekupheleni
Inketho ye-Compiler khubaza_ukuchichima ayisatholakali. Ukuze uthole imisebenzi echichimayo, sebenzisa &+, &-, &* izindlela.
Uhlu#gcwalisa manje indiza ngokushesha kunenhlamvu, ngenxa yokushintsha iluphu eyisiphukuphuku nge-memset eyodwa elula;
Umphathi wama-shards (amaphakheji), okuthiwa, ngokuxakayo, izingcezwana, manje isebenzisa i-algorithm esheshayo nesebenza ngempumelelo yokuncika kwe-Molinillo, egqugquzelwe yi-CocoaPods (Swift) kanye ne-Builder (Ruby).
Ukwesekwa okwengeziwe LLVM 10, okuzosinikeza ukwanda kokukhiqiza, ukuzinza, njll.
...kanye nokunye okuningi, ngokombono wami wokuziphendulela, ukuthuthukiswa okungabalulekile kangako.
Kuhle ukuqaphela ukuthi i-Crystal, ulimi olwakhelwe ku-LLVM, ivumela ukuthuthukiswa kohlelo lokusebenza olusheshayo, olulula, futhi olufushane kunozakwabo abatolikiwe, kuyilapho lusakhiqiza kanambambili oshesha ngokuqhathaniswa. I-Golang ivelele nge-OOP yayo esebenza ngokugcwele, ukusekela kwezinto ezijwayelekile, kanye ne-syntax elula necacile. Nakuba injongo ehlosiwe ifana kakhulu ne-Nim, igxile ngokusobala ekusetshenzisweni okungokoqobo, kwesikhathi sangempela. I-API yayo inamathuluzi abhalwe kahle, asebenziseka kalula, nasezingeni eliphezulu, asekelwa abathuthukisi bolimi futhi azinze kakhulu.
Source: linux.org.ru
