[nim]高速処理言語nimのMacOSでのセットアップと開発、テスト環境構築

広告

新しい開発言語を学ぶ必要に迫られ、今流行りの言語を色々みましたが、最終的にnimをこれから色々触ってみようという結論にいたりました。情報がまだまだ少なく、あまり有名でないこの開発言語について、少しづつ情報をためていく為の最初の一歩として「何故 nimなのか」と、開発環境の構築を記事にしておきます(2018年4月現在)

処理速度の速い言語を求めて

完全な日曜プログラマの私は、演劇感想文リンクの更新のためのツールをRubyで開発しています

Rubyは、開発者の楽しさを追った言語で、書いていて楽しいし、様々な事ができます

特別な用途(iOSアプリを開発するためのswift等)以外であれば大概の事ができるので、なるべくなら他の言語を扱いたくはなかったのですが、演劇感想文リンクのページの使い勝手をあげていくために、やりたいことが増えるに連れ扱うデータ量が増えていき少しづつ処理時間が重荷になってきました

Rubyは、スクリプト言語の中では、バージョンアップの度に速度の向上が図られているとはいえ、限界があります

よりプリミティブな言語で、コンパイル型の言語を使えば、処理スピードの向上が図れるのではないかと考えました

当初の想定は、GoやRustといわれる最近流行りだした言語でした

ぶっちぎりのスピードを叩き出していたのは意外にも未知の言語nim

この記事で、スピード比較をするとCを除くとnimがぶっちぎりスピードを叩き出しています

以下のグラフは、上記の記事からの引用ですが、単位時間あたりの処理量でGoの2倍、rubyの30倍と、ぶっちぎりのスピードです

正直、言語としての知名度があまりないことから、Web上にもまだ日本語の情報がすくなくビビる部分もありますが、ものは試しで手を付けてみることにしました

nimの環境構築

macOSであれば、はっきり言って超簡単。brewで一発インストール可能です

インストール後に、ヴァージョン情報を確認したらOK

2018年4月時点では、0.18になっています

コーディング環境設定(sublime)

私は、エディタとしてsublimeを利用しています

コードのハイライトを行うため、nim用のパッケージnimlimeをインストールします

上記のリンクからコードをダウンロードして構築してもよいのですが、安定的なパッケージをインストールするのであれば、sublimeのPackageコントロールを利用すれば簡単です

メニュー>基本設定>PackageControlでパッケージインストール画面を開きます

Package Contorol:Install Packageを選択して、「nimlime」を選択してインストールします

コードハイライトとエラーチェックがsublime上で行えるようになります

テスト駆動開発環境の設定

rubyでもrspecを利用して、まずはテストを記述してから、コードを書くというスタイルを貫いています(手間のようで結局これが一番早い)

その為、以下のようなフォルダ構成でテストと作成するモジュールを管理することにしました

以下は、演劇の公演情報を管理するモジュール「show.nim」を開発するためのフォルダ構成です

testの配下にunittestを行うモジュールを置き、libの配下に構築するモジュールを作成します

testフォルダに、nimのテスト用のモジュールを配置します

dataフォルダには、モジュールのIN/OUTのデータを作成するイメージです

以下は、公演情報を管理するモジュール(show.nim)のテスト用コードです

「unittest」というモジュールをインポートすることで、一連のテストを記述するための「suite」(rspecのcontextに相当)や、「test」(rspecのitに相当),「check」(rspecのexpectに相当)を利用することができます

show.nimをlibに作成した上で、show_test.nimをコンパイル&実行すると以下のようになります

実行は、親フォルダの「show」の直下です

以上 高速で処理ができる言語nimの環境セットアップについての記事でした

言語の特徴は、以下の記事が詳しいです

広告

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です