Latest release 1.4.1
22 April 2022 - More release notes
構文
Crystal の構文は Ruby の影響をつよく受けています。そのため自然に読めて、簡単に書けます。そして、 Ruby 開発の経験があれば習得は容易でしょう。
型システム
Crystal は静的に型チェックされるプログラミング言語です。そのため、実行時にエラーを起こすのではなく、コンパイラが早期に型エラーを発見するでしょう。さらに、Crystal は型推論も備えています。ほとんどの場合、型注釈は必要ありません。
Null 参照チェック
Crystal ではすべての型は nil を許容しません。そして nil を許容する変数は、その型と nil とのユニオン型となります。要するに、コンパイラはコンパイル時に自動的に null 参照をチェックしてくれる、ということです。これは1億ドルの損失から免れる助けになるでしょう。
このファイルを実行すると、こんな結果になります。
マクロ
Crystal はメタプログラミングに対する答えとして、強力なマクロシステムを備えています。この力は基本的なテンプレート処理から AST の分析や型の分析、さらには外部コマンドの実行までに及びます。
並列モデル
Crystal はファイバーと呼ばれる軽量スレッドを用いて、並列性を獲得しています。ファイバー同士は Go や Clojure のようなチャネルを用いて協調します。共有メモリやロックは用いません。
依存関係の管理
Crystal のライブラリは Shards と呼ばれ、中央集権的なリポジトリを持たず Git で配布されます。shards コマンドではYAMLファイルで依存関係を指定できて、さらにそれらを取得してこれます。
Crystal のトップスポンサー
一覧はこちらいくつかの CI はこちらで実行されています
ブログ記事 (一部未翻訳)
リリースノート (一部未翻訳)
Crystal 1.4.1 is released! | 22 Apr 2022 | |
Crystal 1.4.0 is released! | 06 Apr 2022 | |
Crystal 1.3.2 is released! | 18 Jan 2022 | |
Crystal 1.3.1 is released! | 13 Jan 2022 | |
Crystal 1.3.0 is released! | 06 Jan 2022 | |
Crystal 1.2.2 is released! | 10 Nov 2021 | |
Crystal 1.2.1 is released! | 21 Oct 2021 | |
Crystal 1.2.0 is released! | 14 Oct 2021 | |
Crystal 1.1.1 is released! | 27 Jul 2021 | |
Crystal 1.1.0 is released! | 16 Jul 2021 |