/note/tech

Ruby のように書きやすく C のように速いプログラミング言語「Crystal」

Crystalを選んだ理由

当チームはRubyの経験があるエンジニアが多く、もちろん、作成するアプリケーションには高いパフォーマンスを求められていたため、Crystalは非常にマッチした言語でした。言語のシンタックスはRubyに大きな影響を受け、Rubyの経験があれば違和感なくコードを書いたり読んだりすることができます。また、Cによるバインディングやイベントループベースのノンブロッキング I/O、FiberとChannelsによる並行処理など、言語自体のパフォーマンスの高さもさることながら、その性質を活かすための仕組みも揃っています。さらに、Crystalは静的型付け言語であり、型推論も行うことができます。また、コンパイラによって検証を行うことも可能で、より堅牢性の高いコードを書くことができます。

個人的には、Crystalは記述性の高さとパフォーマンスのトレードオフを最も良いバランスで取ることができている言語の一つであると考えています。まだまだドキュメントが少なく、一時期に比べ大きく取り上げられることも少なくなったものの、言語自体の魅力は変わりなく、現在も着々と改善が続けられています。 ライブラリ管理ツール shards を中心として、Webフレームワーク、各種ドライバなど様々なライブラリが開発されており、本番向けのアプリケーションを作成する十分な環境も揃っています。

Python に対する Nim みたいなものかしら?