Објавен кристал 0.34.0

Објавена е нова верзија на Crystal, компајлиран програмски јазик со Ruby синтакса, чии главни карактеристики се траење со „вграден“ циклус на настани, во кој сите I/O операции се асинхрони, поддршка за повеќенишки (доколку како што е овозможено со знаменце за време на компилацијата) и исклучително едноставно и практично работење со библиотеки во C.

Почнувајќи од верзијата 0.34.0, јазикот официјално започнува да се движи кон своето прво вистинско издание (т.е. верзија 1.0).

Новата верзија на Кристал ги вклучува следните промени и подобрувања по важност:

  • Додадена е нова библиотека за логирање во API Лог, кој, за разлика од стариот, може да испраќа пораки до различни задни места и да ги филтрира овие пораки различно во зависност од „изворот“.

  • Зачетоци од светот на развојот на Ц, Ерно и WinError, што се користи за примитивите за влез/излез, стануваат нешто од минатото благодарение на хиерархијата на исклучоци ИО:: Грешка (сепак, никој сè уште не забранува користење на Errno).

  • Отстранета автоматска замена на друго нула од операторот случај/кога/друго. Ова е направено со цел да се спречи развивачот случајно да прескокне една од гранките. кога при совпаѓање на детерминистички случаи како што се нумери и поминување низ типови од Унија. Тоа е, едноставно кажано, овој код повеќе нема да работи без да наведете уште еден кога (кога Char) или задачи друго- гранки:

a = 1 || 'x' || "фу"
случај а
кога Int32
#…
кога Стринг
#…
крајот

  • Опција за компајлер disable_overflow веќе не е достапна. За операции со прелевање, користете ги методите &+, &-, &*.

  • Низа# пополнување сега лета побрзо од куршум, благодарение на замената на глупавата јамка со еден едноставен мемсет;

  • Менаџер на фрагменти (пакети), наречен, парадоксално, парчиња, сега го користи побрзиот и поефикасен алгоритам за задоволување на зависноста од Molinillo што се наоѓа во CocoaPods (Swift) и Builder (Ruby).

  • Додадена е поддршка LLVM 10, што теоретски ќе ни даде одредено зголемување на продуктивноста, стабилноста итн.

... и многу други, според мое субјективно мислење, помалку значајни подобрувања.

Би сакал да забележам дека Crystal е јазик изграден на LLVM, кој ви овозможува да пишувате апликации понекогаш побрзо, поедноставно и поконцизно отколку на неговите толкувани „браќа“, а во исто време да добиете прилично брз бинарен резултат. Во споредба со Golang, тој се издвојува поради неговата апсолутно полноправна OOP, поддршка за генерики и многу едноставна и разбирлива синтакса. Неговата цел е во голема мера слична на Nim, но во исто време е јасно фокусирана на практична употреба „овде и сега“, благодарение на што во својот арсенал API има многу добро документирани, практични и висококвалитетни алатки, поддржани од развивачи на јазици и затоа многу стабилни.

Извор: linux.org.ru

Додадете коментар