[ 前へ | 目次 | 次へ ]

VCSSLってどんな言語 ? - VCSSLの特徴


はじめに、VCSSL の基本的な事項や、特徴などについて解説します。

VCSSL とは

VCSSL は、2011 年公開の、比較的新しいC 言語系のプログラミング言語です。

名称は Visualization-Calculation-Simulation Script Language (可視化-数値計算-シミュレーションのためのスクリプト言語)の略で、 特殊な環境に依存せず、どこでも使用できる数値計算プログラムや科学技術系シミュレーションを、 手軽に開発する事を主目的として生まれた言語です。

加えて現在では、より汎用的な一般用途においても、例えば簡易GUI アプリや3D 可視化ツールなど、 比較的小規模なものを手軽に開発できる言語を目指しています。 (開発最初、VCSSLの「V」は Virtualized の略でしたが、後に上のようなコンセプトが加わったため、現在は Visualization の略となっています )。

文法がC 系言語の中でも単純なため、 プログラミング入門用にも適しており、C 系他言語へのステップアップも考えられます。

歴史(開発経緯)

電卓ソフト用言語としてのVCSSL 1.0

VCSSL の最初のバージョンであるVCSSL 1.0 は、2011 年1 月に電卓ソフト上で動作する言語として誕生しました。 その当初の目的は、電卓ソフト上において、ユーザー定義関数や、ちょっとした短い数値計算プログラムなどを記述する事でした。

そのため、数値計算分野でユーザーの多いC言語系の文法を採用しつつ、 電卓上で手軽に扱えるように極力シンプル化した言語となりました。

電卓ソフト「 リニアンプロセッサー 」用の言語として誕生
VCSSLは元々、電卓ソフト「 リニアンプロセッサー 」上で、ユーザー定義関数や数値計算プログラムなどを記述するための言語として誕生しました。

GUI やグラフィックスをサポートし、単体のプログラミング言語として独立したVCSSL 2.0以降

続く2011 年8 月公開のVCSSL 2.0 は、GUI や2D/3D グラフィックスなどの諸機能を大幅に拡充し、 数値計算だけでなく、ある程度汎用的な用途にも対応する事を目指したバージョンでした。 それに伴い、電卓ソフト付属の言語という立場から、単体で使用する言語へと独立しました。

VCSSL の拡張が最も著しいペースで進んだのは2.x 世代で、 この時点で現在のVCSSL に繋がる基本的な部分はほぼ固まり、 以降は現行版の3.x 世代に至るまで細かな改良が続いています。

VCSSLの特徴

C言語(C系言語)ユーザーが手軽に扱えるシンプルな文法 - プログラミング入門にも

VCSSL は電卓ソフト用の言語として誕生した経緯から、C 系のスタンダードな文法を採用しつつ簡略化し、手軽に扱えるシンプルな文法を目指しています。 すでにC 系の言語を扱える方なら、VCSSLの文法はすぐに習得できるでしょう。

また、VCSSL はプログラミング入門にもおすすめです。 文法がシンプルで入門しやすい事に加えて、他のC 系言語へのステップアップの足がかりにもなるからです。

▼VCSSLのサンプルコード

ちょっとした数値計算やシミュレーションを記述するのに適した特性

電卓ソフト用言語であった事に由来して、VCSSL はちょっとした数値計算やシミュレーションに適した特性を持っています。

ここでの「ちょっとした」とは計算負荷を指しており、具体的にはC 言語で書いても1 秒以内で終わる程度の計算をターゲットにしています。

具体的な特長としては、文法が静的型付けである事や、CSV/TSV 形式のファイルを手軽に扱えるファイル入出力機能の存在、2D/3D グラフをプロットするライブラリがサポートされている事などが挙げられます。

また、計算速度も毎秒1 億回(100MFLOPS)を超え、それなりの水準に達しています。

ちょっとした数値計算やシミュレーションが得意
元々が電卓ソフト用の言語なので、数値計算やシミュレーションのプログラムをシンプルに記述できます。2D/3Dグラフをプロットするライブラリもサポート。

GUIや2D/3Dグラフィックス、サウンドなどの各種汎用機能もサポート - 簡易GUIアプリ開発も

VCSSL はGUI や2D/3D グラフィックスなどの汎用機能を標準ライブラリでサポートしているため、手軽な文法はそのまま、ある程度汎用的な用途もこなす事ができます。

といっても、VCSSL は比較的小規模なプログラムを想定した言語であるため、高機能なアプリケーションの開発などは得意ではありません。そういった用途では、最初から大規模開発を前提とした汎用言語にはかないません。

しかし、比較的単純な機能で、GUI も少しの入力項目が並ぶだけといった簡易アプリ的なものなら、VCSSL のシンプルさを活かして手軽に組むことができます。アニメーション対応の2D/3D グラフィックスを手軽に扱えるのも長所です。サウンド再生や時間計測、テキスト処理なども扱えます。

3DCGも標準サポート
3DCGも標準ライブラリでサポートされており、図のようなリアルタイム3Dアニメーションで、計算結果やデータを可視化する事もできます。

「 VCSSLエンジン 」 上で動作するスクリプト言語 . 書いてすぐに実行可能

VCSSL は、「VCSSL エンジン」という処理エンジン上で動作する、スクリプト言語の一種です。

(広義の)スクリプト言語とは、人間が記述したプログラム(ソースコード)を、実行前に機械語などに変換しなくても、その場でそのまま実行できる形式のプログラミング言語の事です。

そのため、ちょっとした計算や短い処理などを行いたい場合に便利です。例えば、メモ用のソフトなどでさっと数行書き、「 .vcssl 」の拡張子を付けて保存すれば、それだけでVCSSL プログラムの完成です。

あとは、それをマウスでダブルクリックするだけで、自動的に実行できます。

様々な環境で動作 - USB フラッシュメモリーで実行環境ごと持ち運びも

VCSSL の実行環境は、主要な各種デスクトップ向けオペレーティングシステムに対応しています。

そのため、実行環境さえあれば、VCSSL で記述されたプログラムは、どこでも同様に動作します。

スクリプト言語なので、環境に合わせて書き換えたり、変換したりする必要はありません。全く同一のプログラムが動作します。これは、GUI や2D/3D グラフィックスなどの機能も例外ではありません。

どこでも開発できて、実行環境ごと持ち運べて、どこでも動作
VCSSLのプログラムは、どこでも開発できて、USBメモリーなどで実行環境ごと持ち運べて、そしてどこでも動作します。

実行環境は、自作プログラムに同梱して再配布可能

VCSSL の実行環境は、自作のプログラムに同梱して配布できます。この事は、VCSSL の実行環境に関するライセンス(使用許諾)でも、公式に認められています※。

VCSSL の実行環境は、先に述べたように、各種デスクトップ向けオペレーティングシステムにおいて、インストール不要で動作します。つまり、自作のプログラムに実行環境を同梱して配布すると、どこの誰でも、そのプログラムを入手してすぐに使う事が可能です。



スポンサーリンク



スポンサーリンク

この階層の目次
お知らせ

Vnanoのスクリプトエンジンアーキテクチャ解説1: 全体像
2019年05月28日 - RINEARNでは現在、 アプリケーション組み込み用スクリプトエンジン「 Vnano 」を、オープンソースで開発中です。今回は、このスクリプトエンジンのアーキテクチャ面を掘り下げて解説します。

リニアンプロセッサー nano の先行開発版やソースコードリポジトリを公開
2019年04月16日 - オープンソースで開発中の小型プログラム関数電卓ソフト、「 リニアンプロセッサー nano 」の先行開発版やソースコードリポジトリを公開しました。概要と使用方法、ビルド方法などについて解説します。

各ソフトウェアの最新版を一括でリリース、OpenJDKのJava実行環境(JRE)に対応
2019年03月06日 - RINEARNでは3月6日に、主要なソフトウェアの最新版を一括でリリースしました。今回のアップデートには、以前お知らせした、OpenJDKで生成したJREへの対応が含まれています。その概要等をお知らせします。

新着
連番ファイルから3Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、3Dグラフを高速で連続描画して、アニメーションさせるツールです。
2019年06月03日
連番ファイルから2Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、2Dグラフを高速で連続描画して、アニメーションさせるツールです。
2019年05月24日
[公式ガイドサンプル] 立体モデルを生成して3D空間に配置する

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを生成し、3D空間に配置します。
2019年05月21日
[公式ガイドサンプル] ポリゴンを生成して3D空間に配置する

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体の基本的な構成要素となるポリゴンを生成し、3D空間に配置します。
2019年05月20日
[公式ガイドサンプル] CSVファイルにデータを書き出し&読み込んで、複雑な3次元曲面のグラフを描く(魔法陣形)

「VCSSLスタートアップガイド」内のサンプルコードです。CSVファイルにデータを書き出し、さらにそれを読み込んで、魔法陣のような3次元曲面のグラフを描画します。
2019年05月17日
開発元Twitterアカウント

スポンサーリンク