Crystalとは?プログラミング言語を初心者にもわかりやすく解説

Crystalとは

Crystal(クリスタル)は、2011年から開発されているプログラミング言語です。2014年に、最初の公式バージョンとなるCrystal 0.1.0がリリースされました。

Crystalは、オブジェクト指向の汎用プログラミング言語です。「Rubyのように美しく、 C言語のように速い」と表現されます。Crystalの構文はRubyと似ていて書きやすく生産性が高いのが特徴です。一方で、Rubyとは異なりCrystalはあらかじめコンパイルしてから実行する言語であり実行速度は高速です。

Crystalのコンパイラは、初期にはRubyで書かれていましたが、後にCrystalで書き直されました。Crystalの構文はRubyの影響を受けていますが、コンパイラを書き直した時点でRubyへの依存は無くなりました。コンパイラの言語をRubyからCrystal自身に変更したことで、コンパイル時間が大幅に短縮されたそうです。

2019年現在、 Crystalは「アルファ版」として言語仕様と標準ライブラリの修正が行われています。最新版は、2019年にリリースされたバージョン0.3系です。

Crystalの特徴

Crystalには、以下の特徴があります。

  • オブジェクト指向の汎用プログラミング言語
  • 構文はRubyに似ている(Rubyと互換性はない)
  • Rubyは動的型付け、Crystalは静的型付け
  • Rubyはインタプリタ言語、Crystalはコンパイラ言語

Crystalは、オブジェクト指向の汎用プログラミング言語です。構文はRubyに似ていますが、Rubyとは異なる点もあります。

例えば、Rubyは動的型付けですが、Crystalは静的型付けです。Rubyでは変数にどのような型の値でも代入することが可能ですが、 Crystalでは柔軟性を失う代わりに効率的にコンパイルできます。

Rubyはコンパイルせずに実行できるインタプリタ言語ですが、Crystalはコンパイラ言語です。Rubyは実行が容易でプログラム開発の生産性が高まりますが、 Crystalはあらかじめコンパイルしてから実行するので動作が高速になります。

Crystalはこんな場面で使われている

Crystal は、汎用言語です。ウェブアプリケーション開発、ゲーム開発など、様々な場面で利用できます。

Crystalを学ぶメリット

2019年現在、Crystalは「アルファ版」として開発途中です。まだ、Crystal利用者は多くはなく、就職や転職に有利になるプログラミング言語を身に着けるなら、Rubyなどの方が求人数が多いでしょう。

とはいえ、Rubyライクなシンプルな構文で書けて、Rubyよりも圧倒的に高速に動作するCrystalは、まだ安定版がリリースされていない開発段階ながら注目を集めています。今後、Crystalの人気が高まることは十分にありえるでしょう。

すでに、Rubyを使っていて、サービスをより高速に動かしたいと感じているなら、Crystalが解決策になるかもしれません。