Nim(ニム)とは、システム/アプリケーション開発用プログラミング言語で、「C言語の処理速度とメモリ効率性」を発揮できるコンパイル言語です。

オープンソースの言語/Nimとは

Nim(ニム)とは、システム/アプリケーション開発用プログラミング言語で、「C言語の処理速度とメモリ効率性」を発揮できるコンパイル言語です。

■関連する比較ページ

「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リポジトリを介して配布する分散パッケージ管理を行います。

→GitHub →nim-lang / nimble

■スタックトレース出力機能

例外によりNimアプリケーションがクラッシュすると、終了する前にスタックトレースを出力します。

このスタックトレースには、例外をデバッグするために必要な情報がすべて含まれています。

補足情報

■同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Python」「Rust」「Go言語」など。

■オフィシャルサイト

オフィシャルサイト

→Nim(Nim programming language | Nim)

ライセンス情報

Nimのライセンスは「MITライセンス」です。

詳細について、こちらを参照ください。
→GitHub →nim-lang/Nim →copying.txt

ダウンロード

→Nim →Install Nim

 

参考元サイト

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

Nim最新TOPICS

最新情報はありません。

Nim最新CLOSEUPコラム

イベント情報

セミナー講演資料

無料資料プレゼント

2021/03/04 セキュリティDAYS Keyspider資料

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



セミナー講演資料公開中

リアルタイム性の高いIoTの課題とは?スマートシティを支えるMQTT ~IoTメッセージングプラットフォームを活用し、セキュリティ確保や通信到達保障を簡単に実現~

ローコード/ノーコードのツール比較と内製化 ~ユーザー企業は、ノーコード/ローコードで内製化できるのか?~

エンジニアにとって「情報発信」は重要なのか? ~テックピット DEVELOPERS RESKILLING CONFERENCE クロージングセッション~

  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter