コードアーカイブでVnano製プログラムの配信を開始

Vnano

VCSSL製の各種コードを配信している「 VCSSLコードアーカイブ 」において、 2020年12月20日より、Vnano で記述されたプログラムも配信を開始しました。今回はその概要と、初回配信プログラムなどをご紹介します。

- 目次 -

VCSSLコードアーカイブとは

VCSSLコードアーカイブは、プログラミング言語VCSSLの公式サイト内において、VCSSL製の各種プログラムを配信しているサブカテゴリー・サイトです:

VCSSLコードアーカイブ (日本語版)
https://www.vcssl.org/ja-jp/code/

VCSSLコードアーカイブでは、簡易ツール的なプログラムをはじめ、GUIやグラフィックス系のプログラム、数値計算プログラム、および各種アルゴリズムのサンプル実装コードなどを、解説記事付きで配信しています。

VCSSLはC言語系のシンプルな文法を採用しているため、サンプルコード系のプログラムや解説記事などは、他のC系言語におけるプログラミング時の参考にもご使用いただけます。

Vnano とは

Vnano (VCSSL nano) は、C言語系のシンプルな文法を持つ簡易スクリプト言語です。 というと VCSSL も同様なのですが、Vnano は VCSSL からさらに、機能や言語仕様を削ってコンパクト化したサブセット(機能限定版)になっています。

その代わりとして、Vnano のスクリプトを処理するエンジン(スクリプトエンジン)は、一般の Java® 製のソフトウェアに手軽に搭載し、 そのソフト上でのスクリプト機能として使えるようになっています。 実際に、関数電卓ソフトの RINPn では、Vnano で関数を定義したり、計算プログラムなどを書いて実行する事ができます。

Vnano 公式サイト (日本語版)
https://www.vcssl.org/ja-jp/vnano/
関数電卓 RINPn 公式サイト (日本語版)
https://www.rinearn.com/ja-jp/rinpn/

また、Vnano のスクリプトエンジンはオープンソースで、下記にてソースコードを一般に公開しています:

Vnano ソースコードリポジトリ (GitHub)
https://github.com/RINEARN/vnano

スクリプトエンジンのライセンスは、オープンソース系のライセンスの中では比較的緩い「 MITライセンス 」であるため、商用・非商用問わず気軽にご利用いただけます。

VCSSLコードアーカイブで Vnano 製のプログラムを配信開始、ベータ版の実行環境を同梱

Vnano のスクリプトエンジンの開発は、2013年頃にコンセプトや全体設計の検討を始め、2015年頃から実装を部分的に(VM側からコンパイラ側へ向けて)開始し、 2017年に一応の形で動作可能となり、 その後2018年にソースコードの公開、2019年にベータ版への移行を経て、現在は正式リリースへの着地を目指す段階になっています。 当初のリリース予定から2年ほど遅れていますが、動作はそれなりに安定し、パフォーマンス面でもVCSSLを平均的に上回る水準になりつつあります。

ただ、正式リリースへ移行するには、まだ(テスト用ではない)各種の実用プログラムによる検証が十分ではありません。 しかしながら、リリース前なので実用プログラムやサンプルコード類などのコンテンツがそもそも乏しく、 従って実行環境だけベータ版で配布しても、実際にそれを使って何かのプログラムを動かしてもらえる機会もやはり乏しいため、 それだけでフィードバックが集まる事は(よほどのアーリーアダプター層の方々から以外は)あまり見込めません。

そこで今回のお知らせの通り、実用プログラムやサンプルコード類などの公式コンテンツの充実や、Vnano 自体の周知なども兼ねて、 VCSSLコードアーカイブにおいてVnano製プログラムの配信を開始しました。

配信プログラムには実行環境が同梱されており、Microsoft® Windows® や Linux 等の各種環境において、ダウンロードしてすぐに実行できます。 先述の通り、Vnano のスクリプトエンジンは現在ベータ版で、各プログラムの配布/解説ページにもその旨が明記されていますが、 各プログラムの処理は正しく実行できる事を確認の上で同梱されています。

プログラムの内容を大幅に書き換えて実行した場合には、未知のバグを踏む可能性も生じますが(※ その旨も配布ページで明記されています)、 その際はお手数ながら、RINEARNのお問い合わせページVnanoの開発リポジトリ (GitHub) 等からお知らせいただけますと幸いです。

初回配信プログラム

以下では、実際に今回配信を開始したVnanoプログラムをご紹介します。

積分値を求めるプログラム

積分の計算を数値的に行い、求まった積分値を表示するプログラムです。 標準では精度重視でシンプソン法という方法を用いていますが、1行だけ書き換えると、 シンプルでわかりやすい矩形法や台形法のコードにもできます。 上記の配信ページでは、各アルゴリズムの考え方や、それをどのようにコードとして実装しているか等についても解説しています。

積分値のグラフ描画用データを出力するプログラム

積分の計算を数値的に行い、その過程の値の変化 = 下端Aの設定値を基点とする不定積分の関数の形を、 グラフに描くためのデータを出力するプログラムです。 実際に、リニアングラフや gnuplot などのグラフソフトを用いて、出力データからグラフを描く手順についても解説しています。

ローレンツ方程式を数値的に解くプログラム(2021/02/12追加)

ローレンツ方程式を4次ルンゲ=クッタ法によって解き、グラフ描画用のデータを出力するプログラムです。 実際に出力データからグラフを描く手順や、ローレンツ方程式の概要、および計算処理に用いているアルゴリズムなどについても解説しています。

今回のお知らせは以上です。

RINEARN では現在、Vnano 自体だけでなく、Vnano 対応の関数電卓ソフト RINPn についても、より正式リリースに近い形(現在はベータ版)への移行を目指しています。 今回のVnanoプログラムの配信開始は、上記に先行して RINPn 用のコンテンツを整備するステップも兼ねています。 実際に今回配信を開始した各プログラムは、全て RINPn 上でもご利用いただけます。 RINPn および Vnano に関する続報は、また追ってこのコーナーでお知らせいたします。