[ 前へ | 目次 | 次へ ]
2021/04/07

Vnanoがオープンベータ版に移行、VCSSLの実行環境で標準で実行可能に

オープンソースで開発進行中の、ソフトウェア内組み込み用スクリプトエンジン&言語「 Vnano (VCSSL nano) 」が、この度オープンベータ版へと以降しました。 併せて、プログラミング言語VCSSLの実行環境のアップデートも実施し、今回からVnanoのプログラムを標準で実行できるようになりました。

今回は、その詳細をお知らせします!

VCSSL と Vnano について

まずは前提として、VCSSLとVnanoの概要について触れておきましょう。

VCSSLとは

VCSSLは、RINEARNが2011年より開発・公開している、 比較的ライトな計算処理やシミュレーション、データの2D&3D可視化、及びちょっとしたツール製作などに便利な、簡易プログラミング言語(スクリプト言語)です。

VCSSL

VCSSLは、元々は電卓ソフト上で関数定義や自動計算を行うための言語であった事から、 学習コストを抑えつつ短いコードを手短に記述できるよう、 C言語系の単純化した文法を採用しています。 コードの第一印象はまさに「 ソフトウェア上のスクリプト機能としてありがちなCっぽい簡易言語 」といったところでしょうか。

このような比較的簡素な文法に、2D/3Dの簡易描画機能やグラフプロット機能などを標準サポートで組み合わせる事で、 ちょっとしたデータ解析や可視化・計算スクリプトなどを、手軽にオールインワンで作ってどこでも使えるようにしたのが、現在のVCSSLです。

当初はソフト内組み込み用途も想定していたものの…

一方で、VCSSLは開発の発端が電卓用であった事もあり、もともとは一般のソフトウェア内に、スクリプトエンジンを手軽に組み込んで使えるような言語も目指していました。

しかし、上述した3Dグラフィックス機能などの諸機能は、どうしても処理系の規模をある程度肥大化させてしまう事もあり、 従って処理系を搭載する側のソフトにとっても、現状ではある程度複雑な対応が必要になってしまいます。

そのため、一般のソフト内への組み込み用途は、フル機能のVCSSLでは現在に至るまでまだサポートできていません。 リニアングラフやリニアンプロセッサーなど、いくつかのRINEARN製のソフトではVCSSLが組み込まれていますが、 搭載のためのコードや、接続・初期化時の処理において非常に煩雑な手続きを要しており、少なくとも現行世代のスクリプトエンジンでは、一般に容易に組み込めるようにするのは難しい状況です。

ソフト内組み込み用途に焦点を絞ったサブセット言語&エンジン「 Vnano 」

そこで、最初からソフト内組み込み用途に焦点を絞って、VCSSLから機能の幅を削りつつ、スクリプトエンジンも搭載性重視で再設計した派生言語が Vnano です。 名称は「 VCSSL nano 」の略で、名前の通り、言語の文法などの中心的な部分はVCSSLを踏襲しつつ、付随的な機能を削って、必要最小限にコンパクト化したサブセット言語になっています。

Vnano 公式サイト
https://www.vcssl.org/ja-jp/vnano/
開発リポジトリ (GitHub)
https://github.com/RINEARN/vnano
言語コンセプトの解説記事 (2018年のお知らせ)
https://www.rinearn.com/ja-jp/info/news/2018/0602-vnano-concept
スクリプトエンジン アーキテクチャの解説記事 (2019年のお知らせ)
https://www.rinearn.com/ja-jp/info/news/2019/0528-vnano-architecture

上記公式サイトでの記述の通り、Vnanoの処理系はオープンソースで、どなたでも自由にソフト内に組み込んで使用できます。 また、そのためのコード記述や接続方法も、比較的簡単な水準に抑えられています。

Vnano がオープンベータ版へ移行

やや長い前置きでしたが、ここからが今回の内容です。

Vnanoは、当初は2018〜2019年頃の正式リリースを目指していました。 ただ、仕様を現実的な内容にしつつ固めるためには、実際にVnanoを何らかの実用目的のソフトに搭載して検証してみる事も必要となり、 そのため平行してプログラム関数電卓ソフト「 RINPn 」の開発も行ってきました。

その検証の過程で、やはり削り過ぎた仕様の一部を見直して拡張したり、ソフト側や関数提供プラグインなどとの接続仕様を煮詰めたり、 最終段階でのテストの期間を想定以上に要したり、そこにコロナ禍の混乱が直撃したりなどして、 当初の想定よりもスケジュールが遅延してしまっていました。

しかしながら、ようやく正式リリースを見込める品質に達しつつあり、その手前の最終的な準備段階として、公開ステータスをオープンベータ版へと移行しました。

VCSSLの実行環境でも標準で実行可能に
―  コードアーカイブでも先行してプログラムを配信開始

といっても、Vnano のスクリプトエンジンはもともとオープンソースであるため、これまでもいつでもソースコードを入手してビルドすれば使える状態でした。

しかし、それはあくまでも自作ソフト内にスクリプトエンジンを組み込む事を想定されるような層の方々に向けた公開状態で、 一般の方々がVnanoのプログラムを手軽に実行できるような、積極的な配布状態ではありませんでした。 それは、まだそのような一般用途に耐える水準に達していないためでもありました。

オープンベータ版では、開発側としては概ね正式リリースに漸近した品質水準であり、 正式リリースと異なるのは「 まだ広く一般的な方々による実際の使用を十分経ていない 」という客観的事実のみとなります。 そのため、今回からはより手軽に、Vnanoのコードを記述/実行してお試しいただける状態になりました。

具体的には、VCSSLの実行環境の最新版をリリースし、Vnanoのスクリプトを標準で実行可能になりました。

VCSSLの実行環境の入手はこちら
https://www.vcssl.org/ja-jp/download/

上記から入手したVCSSLの実行環境を起動し、Vnanoで記述したスクリプトを選択する事で、手軽に実行できます。 Vnanoのサンプルスクリプト等の入手については、今回よりも少し先行して、VCSSLコードアーカイブでいくつか配信を開始しています:

ローレンツ方程式を数値的に解くスクリプト

ローレンツ方程式を4次ルンゲ=クッタ法によって解き、グラフ描画用のデータを出力するスクリプトです。
積分値のグラフ描画用データを出力するスクリプト

数値的に積分を行い、結果の関数をグラフに描くためのデータを出力するスクリプトです。
積分値を求めるスクリプト (数値積分)

矩形法/台形法/シンプソン法を用いて、積分の値を数値的に求めるスクリプトです。

Vnanoをサポートする関数電卓ソフト「 RINPn 」もオープンベータ版へ移行

また、先月のお知らせでもご紹介しましたが、先述したプログラム関数電卓ソフト「 RINPn 」も、併せてオープンベータ版へと移行しました。 こちらのソフトでも、Vnano のスクリプトを手軽に実行できます。実際に、すぐ上で紹介した3つのコードアーカイブ配信プログラムは、全てRINPn上でも動作します。

RINPn 公式サイト
https://www.rinearn.com/ja-jp/rinpn/

加えて RINPn では、Vnano で記述した自作関数を、電卓の計算式で使う事もできます。 ぜひお試しください!

VCSSLの公式ガイド類もVnanoに対応

今回のVnanoのオープンベータ版移行に合わせて、いくつかのVCSSLの公式ガイド類についても内容の改訂を行い、Vnano に対応しました。 該当のガイドは、VCSSLの配布パッケージ内にPDFとして同梱されているほか、下記にてWeb版を公開しています:

VCSSL&Vnanoスタートアップガイド
https://www.vcssl.org/ja-jp/doc/start/
C系言語ユーザー向け VCSSL&Vnano即席ガイド
https://www.vcssl.org/ja-jp/doc/cprogrammer/

今回のお知らせは以上です。 Vnano に関する続報は、またこのコーナーにて順次お知らせいたします!


この階層の目次
新しいお知らせ

Vnanoがオープンベータ版に移行、VCSSLの実行環境で標準で実行可能に
2021年04月07日 - ソフト内組み込み用スクリプトエンジン&言語「 Vnano 」がオープンベータ版に移行し、併せて、VCSSLの実行環境でもVnanoコードの実行が可能になりました。詳細をお知らせします。

リニアングラフの最新版をリリース、2D版でも描画エンジンの直接操作が可能に
2021年04月03日 - リニアングラフ2D/3Dの最新版をリリースしました。それぞれのアップデート内容をお知らせします。今回から、2D版でもJava言語APIによる描画エンジンの直接操作が可能になりました。

RINPn のオープンベータ版をリリース! 詳細な公式ガイドも同梱&公開
2021年03月08日 - 2019年より開発進行中のプログラム関数電卓「 RINPn(りんぷん)」が、正式リリースに向けた最終準備段階として、オープンベータ版へと移行しました。その詳細をお知らせします。

コードアーカイブ新着
Vnano版 | ローレンツ方程式を数値的に解くプログラム

ローレンツ方程式を4次ルンゲ=クッタ法によって解き、グラフ描画用のデータを出力するプログラムです。
2021年02月12日
Vnano版 | 積分値のグラフ描画用データを出力するプログラム

数値的に積分を行い、結果の関数をグラフに描くためのデータを出力するコードです。
2020年12月20日
Vnano版 | 積分値を求めるプログラム (数値積分)

矩形法/台形法/シンプソン法を用いて、積分の値を数値的に求めるコードです。
2020年12月20日
3Dグラフを回転アニメーションさせるツール

3Dグラフを、Z軸まわりにゆっくりと回転アニメーションさせるツールです。全角度のグラフを、連番の画像ファイルに保存する事もできます。
2019年10月09日
[公式ガイドサンプル] ユーザーのGUI操作に対して処理を行う

「VCSSL GUI開発ガイド」内のサンプルコードです。ユーザーがGUIを操作した際に行う処理を実装します。
2019年07月28日
新着・お知らせ配信用Twitter