この記事は「Nim Advent Calendar 2017」の記事として登録させてもらっています。 NimはNimソースコードをC言語ソースへ変換するトランスコンパイラ言語です。これは普段C++を使っている人にとって非常に重要なことです。なぜなら、C++(C言語)が使える環境なら基本的にはどこでもNimを使うことができるからです*1。もちろん、普段C++を使っている環境でNimを使うにはメモリ管理やC++側との連携についてなど考慮すべきことはいろいろあると思いますが、やはりC言語のソースコードが生成されるというのは大きなメリットです。普段C++やC言語を使っている人が現実的な選択肢としてNimの利用を考えることができるわけですから。というわけで、この記事ではC++とNimの書き方の違い、機能の違いなどを紹介したいと思います。 Nimの言語機能についての詳細は公式の Nim Manual