Crystal 0.34.0 бароварда шуд

Версияи нави Crystal, забони барномасозии тартибдодашуда бо синтаксиси Ruby бароварда шуд, ки хусусиятҳои асосии он вақти корӣ бо ҳалқаи рӯйдодҳои "дарунсохт" мебошад, ки дар он ҳама амалиётҳои воридотӣ / баромад асинхронӣ мебошанд, дастгирии мултимедиявӣ (то даме зеро он тавассути парчам ҳангоми тартиб додан фаъол карда мешавад) ва амалиёти бениҳоят содда ва қулай бо китобхонаҳо дар C.

Аз версияи 0.34.0 сар карда, забон расман ба сӯи аввалин нашри воқеии худ (яъне версияи 1.0) ҳаракат мекунад.

Варианти нави Crystal тағирот ва такмилдиҳии зеринро аз рӯи аҳамият дар бар мегирад:

  • Китобхонаи нави қайдгири ба API илова карда шуд Журнал, ки бар хилофи пештара метавонад паёмҳоро ба ақибҳои гуногун ирсол кунад ва ин паёмҳоро вобаста ба "манбаъ" ба таври гуногун филтр кунад.

  • Қоидаҳо аз ҷаҳони рушди C, Хато и Хатои Win, ки барои ибтидоии I/O истифода мешавад, ба шарофати иерархияи истисноӣ чизи гузашта шуда истодааст IO::Хато (аммо, ҳеҷ кас истифодаи Errno-ро ҳанӯз манъ намекунад).

  • Ивазкунии автоматии else nil аз оператор хориҷ карда шуд ҳолат / кай / дигар. Ин барои он анҷом дода мешавад, ки таҳиякунанда тасодуфан аз яке аз шохаҳо гузаред. вақте ки ҳангоми мувофиқат кардан дар ҳолатҳои детерминистӣ ба монанди ҳисобҳо ва гузаштан аз намудҳо аз Иттиҳоди. Яъне, оддӣ карда гӯем, ин код дигар бидуни нишон додани як рамзи дигар кор намекунад вақте ки (вақте Чар) ё вазифаҳо боз-филиалҳо:

a = 1 || 'x' || "фу"
парванда а
вақте ки Int32
#…
вақте ки String
#…
Поён

  • Варианти компилятор disable_overflow дигар дастрас нест. Барои амалиёти изофӣ, усулҳои &+, &-, &* -ро истифода баред.

  • Массив # пур ба туфайли иваз кардани ҳалқаи беақл бо як мемсети оддӣ ҳоло назар ба тир тезтар парвоз мекунад;

  • Менеҷери пораҳо (бастаҳо), ба таври ғайриоддӣ номида мешавад, шардҳо, ҳоло алгоритми қаноатмандии вобастагии Molinillo-ро тезтар ва муассиртар истифода мебарад, ки дар CocoaPods (Swift) ва Builder (Ruby) мавҷуданд.

  • Дастгирии иловашуда LLVM 10, ки аз чихати назария ба мо як кадар афзоиши хосилнокии мехнат, устуворй ва гайра медихад.

... ва бисёр дигар, ба назари субъективии ман, беҳбудиҳои камтар назаррас.

Ман мехоҳам қайд намоям, ки Crystal ин забонест, ки дар LLVM сохта шудааст, ки ба шумо имкон медиҳад, ки замимаҳоеро, ки баъзан дар муқоиса бо "бародарон"-и тафсиршудаи худ зудтар, соддатар ва мухтасартар нависед ва ҳамзамон дар натиҷа бинарии хеле зуд ба даст оред. Дар муқоиса бо Голанг, он бо сабаби комилан мукаммали OOP, дастгирии генерикҳо ва синтаксиси хеле содда ва фаҳмо фарқ мекунад. Мақсади он асосан ба Ним монанд аст, аммо дар айни замон он ба истифодаи амалии "дар ин ҷо ва ҳоло" нигаронида шудааст, ки ба шарофати он дар арсенали API-и худ бисёр абзорҳои хуб ҳуҷҷатгузорӣ, қулай ва баландсифат дорад, ки аз ҷониби таҳиягарони забон ва аз ин рӯ хеле устувор.

Манбаъ: linux.org.ru

Илова Эзоҳ