マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】Nim


※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「Nim」とは
「Nim」基本情報
■概要
Nim(ニム)とは、システム/アプリケーション開発用プログラミング言語で、「C言語の処理速度とメモリ効率性」を発揮できるコンパイル言語です。
■基本説明
Nimは「静的型付き言語」「C言語の処理速度とメモリ効率性」「メモリ安全性」「高性能ガベージコレクション」「複数ターゲット言語対応」などの特徴を持ちます。シンプル構文により、効率的で表現力豊かなプログラミングを行えます。
多くのメインストリームプログラミング言語に引けを取らない強力な機能を提供します。
■動作環境
「Windows」「macOS」「Linux」などで動作します。
■経緯
・2008年 初版リリース
■ユースケース
Nimはさまざまなプログラミング用途で利用できます。
・カーネル
・Webサーバ
・コマンドラインアプリケーション
・ゲーム など
主な特徴
■クリーン構文
Nim構文はPythonのようにシンプルであるため、可読性が高く、効果的に修正できるコードを記述できます。
■メタプログラミング
Nimは強力なメタプログラミング機能を備えた小さなコア言語を実装しています。
Nimのメタプログラミング機能には、「ジェネリック」「テンプレート」「マクロサポート」などが含まれているため、さまざまなプログラミングパラダイムのサポートを拡張できます。
C言語にコンパイル
NimソースコードをC言語にコンパイルできます。
マシンのネイティブパフォーマンスを発揮でき、Cコンパイラが提供する多くの機能を利用できます。
JavaScriptにコンパイル
NimにはJavaScriptバックエンドが含まれているため、クライアントとサーバを同時にターゲット設定できます。
「C」「C++」「Objective C」へのラッピング
Nimは「C言語」「C++」「Objective C」ライブラリに簡単にバインドできるため、これらの言語の成熟した強力なライブラリを利用できます。
■メモリ安全性
Nimは「オプションチェック」「トレース参照/untraced参照/非nullable型のポインタ演算を実行しない」などの仕組みによりメモリの安全性を確保できます。
■極小バイナリサイズ
Nimは「依存関係なし」かつ「非常に小さいサイズ」のバイナリを生成します。
■コードエディタサポート
多くのコードエディタがNim言語をサポートしています。
・Atom
・Emacs
・Sublime Text
・Vim
・Visual Studio Code など
主な機能
■自動ガベージコレクション
Nimは、サイクル検出を伴う遅延参照カウントに基づく調整可能な自動ガベージコレクション機能を提供します。
■パッケージマネージャー「Nimble」
Nimのパッケージマネージャー「Nimble」は、パッケージをGitリポジトリとMercurialリポジトリを介して配布する分散パッケージ管理を行います。
■スタックトレース出力機能
例外によりNimアプリケーションがクラッシュすると、終了する前にスタックトレースを出力します。
このスタックトレースには、例外をデバッグするために必要な情報がすべて含まれています。
補足情報
■同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Python」「Rust」「Go言語」など。
■オフィシャルサイト
オフィシャルサイト
→Nim(Nim programming language | Nim)
ライセンス情報
Nimのライセンスは「MITライセンス」です。
詳細について、こちらを参照ください。
→GitHub →nim-lang/Nim →copying.txt
ダウンロード
参考元サイト
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【無料オープンソース】「 AWS監視 」ツールまとめ5選 - 🏆ランク2位🏆
【OSS情報アーカイブ】Spinnaker - 🏆ランク3位🏆
【無料で使える】「 RPA 」ツールまとめ - 🏆ランク4位🏆
【ツール紹介】無料オープンソース「 ビデオ監視 ツール 」まとめ3選 - 🏆ランク5位🏆
【OSS情報アーカイブ】moodle - 🏆ランク6位🏆
【ツール紹介】無料で使えるオープンソース「 ポータル プラットフォーム 」まとめ5選 - 🏆ランク7位🏆
【OSS情報】Python用開発タスク自動化ツール「 tox 」 - 🏆ランク8位🏆
【OSS情報アーカイブ】GNU Emacs - 🏆ランク9位🏆
【OSS情報アーカイブ】GitBucket - 🏆ランク10位🏆
【無料で使える】「 ファイアウォール 」ソフトウェアまとめ