Wydano Crystal 0.34.0

Została wydana nowa wersja Crystal, kompilowanego języka programowania ze składnią Ruby, którego głównymi cechami są środowisko wykonawcze z „wbudowaną” pętlą zdarzeń, w której wszystkie operacje wejścia i wyjścia są asynchroniczne, obsługa wielowątkowości (obecnie włączana za pomocą flagi w czasie kompilacji) oraz wyjątkowo prosta i wygodna praca z bibliotekami w języku C.

Począwszy od wersji 0.34.0 język oficjalnie rozpoczyna swój stały marsz w kierunku pierwszego prawdziwego wydania (tj. wersji 1.0).

Nowa wersja Crystal wprowadza następujące zmiany i ulepszenia (w kolejności od najważniejszych):

  • Dodano nową bibliotekę rejestrowania do API Zaloguj, który w przeciwieństwie do starego, może wysyłać wiadomości do różnych zapleczy i filtrować te wiadomości w różny sposób w zależności od „źródła”.

  • Podstawy ze świata programowania w języku C, Nie и Błąd WinError, używane do prymitywów wejścia/wyjścia, stają się przeszłością dzięki hierarchii wyjątków IO::Błąd (jednak nikt na razie nie zabrania używania Errno).

  • Usunięto automatyczne zastępowanie else nil z operatora przypadek/kiedy/inaczej. Robi się to, aby zapobiec przypadkowemu pominięciu przez dewelopera jednej z gałęzi. jeśli chodzi o komunikację i motywację podczas dopasowywania w przypadkach deterministycznych, takich jak wyliczenia i przekazywanie typów z Union. Mówiąc prościej, taki kod nie będzie już działał bez określenia innego jeśli chodzi o komunikację i motywację (gdy Char) lub zadania więcej-oddziały:

a = 1 || 'x' || "foo"
przypadek a
kiedy Int32
#…
kiedy ciąg
#…
zakończenia

  • Opcja kompilatora wyłącz_przepełnienie nie jest już dostępny. Do operacji przepełnienia użyj metod &+, &-, &*.

  • Tablica#wypełnij teraz leci szybciej niż kula, dzięki zastąpieniu głupiej pętli jednym prostym memsetem;

  • Menedżer fragmentów (pakietów), nazywany paradoksalnie odłamki, wykorzystuje teraz szybszy i wydajniejszy algorytm rozwiązywania zależności Molinillo, zainspirowany CocoaPods (Swift) i Builder (Ruby).

  • Dodano wsparcie LLVM 10co w teorii da nam pewien wzrost produktywności, stabilności itp.

...i wiele innych, moim subiektywnym zdaniem, mniej znaczących usprawnień.

Należy zauważyć, że Crystal jest językiem zbudowanym na LLVM, który pozwala pisać aplikacje czasami szybciej, prościej i zwięźlej niż na jego interpretowanych „braciach”, a jednocześnie otrzymywać dość szybki plik binarny na wyjściu. Na tle Golanga wyróżnia się absolutnie pełnoprawnym OOP, obsługą generyków i bardzo prostą i zrozumiałą składnią. W swoim przeznaczeniu jest pod wieloma względami podobny do Nim, ale jednocześnie jest wyraźnie ukierunkowany na praktyczne zastosowanie „tu i teraz”, dzięki czemu ma w swoim arsenale API wiele dobrze udokumentowanych wygodnych i wysokiej jakości narzędzi wspieranych przez twórców języka, a zatem bardzo stabilnych.

Źródło: linux.org.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster