Help us understand the problem. What is going on with this article?

Nimの簡単な紹介

More than 3 years have passed since last update.

Nim Advent Calendar 1日目の記事です。

Nimは日本ではマイナーな言語だと思うので、まずは簡単な言語の紹介から書きます。

Nimとは

Nimは、Pythonのような生産性と、Cのような実行速度を併せ持つことを目標とした言語です。

既にベンチマークでも高速でコードの短さでも優秀という結果も出ています。 参考(https://github.com/kostya/benchmarks)

他にも、RubyのようなDSL、Lispのような拡張性といった要素も重視しており、非常に自由度の高い言語になっています。

構文としてはPythonのようなインデントでブロックを作るタイプで、少々Rubyっぽいところもあったりします。

Nimの基本的な機能として以下があります。

  • 静的型付
  • 型推論
  • GC
  • template/macro
  • Generics

Nimの他の言語にあまり見られない特徴的な機能としては以下があります。

  • 項書き換えマクロ
  • AST based overloading
  • not nil
  • ユーザー定義演算子
  • firstclass iterator

他にも、C#やGo、C++から取り入れた機能などもあります。

  • async/await
  • defer
  • template

利便性を追求するため、標準ライブラリが充実していたり、標準のパッケージマネージャ兼ビルドシステムとしてnimbleというものがあります。

Nimはシステムプログラミングとしての用途を重視しており、明確にC++を意識しています。

システムプログラミング言語ではありますが、ソフトリアルタイム向けGCが標準搭載されており、GCの制御も可能となっています。

2016年のNim

2016年のNim関連の出来事を公式のニュースを参考に列挙します。

  • Version 0.13.0 ~ 0.15.2 のリリース
  • Bountysourceでの募金開始
  • Nimコミュニティアンケートの実施
  • 書籍 Nim in Action の発売決定

まとめ

Nimは2016年でようやくバージョン1.0に向けた道が見えてきたように見えます。

解説書籍であるNim in Actionの発売決定など、めでたいニュースも多く、今後も期待していきたいです。

nnn-school
IT×グローバル社会を生き抜く“創造力”を身につけ、世界で活躍する人材を育成する。
https://nnn.ed.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした