Crystal 0.34.0 がリリースされました

Crystal の新バージョンがリリースされました。Ruby 構文を使用したコンパイルされたプログラミング言語です。その主な機能は、すべての I/O 操作が非同期である「組み込み」イベント ループを備えたランタイム、マルチスレッドのサポートです。コンパイル時にフラグによって有効になるため)、C のライブラリを使用した非常にシンプルで便利な操作が可能です。

バージョン 0.34.0 から、この言語は正式に最初の実際のリリース (つまり、バージョン 1.0) に向けて動き始めます。

Crystal の新しいバージョンには、重要な順に次の変更と改善が含まれています。

  • 新しいロギング ライブラリが API に追加されました ログ、古いものとは異なり、メッセージをさまざまなバックエンドに送信し、「ソース」に応じてこれらのメッセージを異なる方法でフィルタリングできます。

  • C 開発の世界の初歩、 エルノ и WinErrorI/O プリミティブに使用される、例外階層のおかげで過去のものになりつつあります。 IO::エラー (ただし、まだ Errno の使用を禁止している人はいません)。

  • 演算子から else nil の自動置換を削除しました。 場合/いつ/その他。 これは、開発者がブランチの XNUMX つを誤ってスキップすることを防ぐために行われます。 いつ 列挙型などの決定論的なケースで一致し、Union からの型を通過する場合。 つまり、簡単に言えば、もう XNUMX つ指定しないとこのコードは機能しなくなります。 いつ (Charの場合)またはタスク ほかに-支店:

a = 1 || 'x' || 「ふー」
ケースA
Int32のとき
#…
文字列のとき
#…
end

  • コンパイラオプション オーバーフローを無効にする 利用できない。 オーバーフロー演算の場合は、&+、&-、&* メソッドを使用します。

  • 配列#fill 愚かなループを XNUMX つの単純な memset に置き換えたおかげで、弾丸よりも速く飛ぶようになりました。

  • シャード (パッケージ) のマネージャーは、逆説的に、 破片では、CocoaPods (Swift) および Builder (Ruby) にある、より高速で効率的な Molinillo 依存関係を満たすアルゴリズムが使用されるようになりました。

  • 追加されたサポート LLVM 10理論的には、生産性や安定性などがいくらか向上します。

...その他、私の主観的な意見では、それほど重要ではない改善点が数多くあります。

Crystal は LLVM をベースに構築された言語であることに注意してください。この言語を使用すると、解釈された「兄弟」よりも高速かつシンプルかつ簡潔にアプリケーションを作成でき、同時に結果としてかなり高速なバイナリを取得できます。 Golang と比較すると、完全に本格的な OOP、ジェネリックのサポート、非常にシンプルでわかりやすい構文により際立っています。 その目的は Nim とほぼ似ていますが、同時に、明らかに「今ここ」での実用的な使用に重点を置いています。そのおかげで、API の武器庫には、十分に文書化された便利で高品質のツールが数多く含まれており、言語開発者向けであるため、非常に安定しています。

出所: linux.org.ru

コメントを追加します