Crystal 0.34.0 чыгарылды

Crystalдын жаңы версиясы жарыкка чыкты, Ruby синтаксиси бар компиляцияланган программалоо тили, анын негизги өзгөчөлүктөрү "киргизилген" окуялар цикли менен иштөө убактысы, мында бардык киргизүү/чыгаруу операциялары асинхрондуу, көп агымды колдоо компиляция учурунда желек менен иштетилгендиктен) жана С тилиндеги китепканалар менен өтө жөнөкөй жана ыңгайлуу иштөө.

0.34.0 версиясынан баштап, тил расмий түрдө өзүнүн биринчи реалдуу релизине карай жылып баштайт (б.а. 1.0 версиясы).

Кристаллдын жаңы версиясы маанилүүлүгүнө жараша төмөнкүдөй өзгөрүүлөрдү жана жакшыртууларды камтыйт:

  • API'ге жаңы журнал китепканасы кошулду Кирүү, ал, эскиден айырмаланып, ар кандай бэкенддерге билдирүүлөрдү жөнөтө алат жана бул кабарларды "булакка" жараша ар кандай чыпкалай алат.

  • C өнүктүрүү дүйнөсүнүн негизи, Errno и WinError, I/O примитивдери үчүн колдонулган, өзгөчө иерархиянын аркасында өткөн нерсеге айланууда IO :: Error (бирок, азырынча эч ким Errno колдонууга тыюу салбайт).

  • Оператордон else нөлдү автоматтык түрдө алмаштыруу алынып салынды учурда/качан/башка. Бул иштеп чыгуучунун бутактарынын бирин кокустан өткөрүп жибербөөсү үчүн жасалат. качан enums сыяктуу детерминисттик учурларга дал келүүдө жана Биримдиктен түрлөр аркылуу өтүүдө. Башкача айтканда, жөнөкөй сөз менен айтканда, бул код дагы бирөөнү көрсөтпөстөн иштебейт качан (Качан Char) же тапшырмалар дагы-филиалдар:

a = 1 || 'x' || "фу"
учур а
качан Int32
#…
качан String
#…
Бир мезгилдин акырына карата

  • Компилятор опциясы disable_overflow мындан ары жеткиликтүү эмес. Толуп кетүү операциялары үчүн &+, &-, &* ыкмаларын колдонуңуз.

  • Массив#толтуруу азыр акылсыз циклди бир жөнөкөй мемсет менен алмаштыруунун аркасында октон да тез учат;

  • Парадоксалдуу деп аталган сыныктардын (пакеттердин) менеджери, черепками, азыр CocoaPods (Swift) жана Builder (Ruby) ичинде табылган тезирээк жана натыйжалуу Molinillo көз карандылыкты канааттандыруу алгоритмин колдонот.

  • Кошулган колдоо LLVM 10, бул теориялык жактан бизге өндүрүмдүүлүктүн, туруктуулуктун ж.б.

... жана башка көптөгөн, менин субъективдүү пикиримде, анча маанилүү эмес жакшыруулар.

Crystal бул LLVMде курулган тил экенин белгилеп кетким келет, ал сизге кээде анын чечмеленүүчү "бир туугандарына" караганда тезирээк, жөнөкөй жана кыскараак тиркемелерди жазууга мүмкүндүк берет жана ошону менен бирге, натыйжада бир кыйла тез экиликти алууга мүмкүндүк берет. Голангга салыштырмалуу, ал толугу менен толук кандуу OOP, генериктерди колдоо жана абдан жөнөкөй жана түшүнүктүү синтаксиси менен өзгөчөлөнөт. Анын максаты негизинен Nimге окшош, бирок ошол эле учурда "бул жерде жана азыр" практикалык колдонууга багытталган, анын аркасында анын API арсеналында көптөгөн жакшы документтештирилген, ыңгайлуу жана сапаттуу куралдар бар. тил иштеп чыгуучулар, ошондуктан абдан туруктуу.

Source: linux.org.ru

Комментарий кошуу