マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Nim

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

→GitHub →nim-lang / nimble

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

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

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

補足情報

■同様製品

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

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

■オフィシャルサイト

オフィシャルサイト

→Nim(Nim programming language | Nim)

ライセンス情報

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

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

ダウンロード

→Nim →Install Nim

 

参考元サイト

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

この記事のタグ一覧

おすすめの記事

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。