[ 前へ | 目次 | 次へ ]

VCSSLの概要と導入

プログラミング言語VCSSLの概要

今回からは、いよいよ実際にプログラムを書き、みなさんのPCの上で動かしていきましょう。

プログラムを書くために、「 プログラミング言語 」という専用の言葉を使う必要がある事は、前回説明した通りですね。 世の中にはたくさんのプログラミング言語があり、適材適所で使われています。 ただ、プログラミング言語は互いに共通点が多く、どれか一つで感覚やコツを掴めば、別の言語も習得しやすくなります。

このコーナーはVCSSLという言語の公式ガイドなので、 VCSSLを使ってプログラミングをしていきます。 そこでまず、VCSSLとはどんな言語なのかを見ていきましょう。

書き方( 文法 )はC言語風

数多くあるプログラミング言語の中で、「 C言語 」はとても有名です。 みなさんの中にも、聞いた事がある方や、実際に使用されている方も多いかもしれません。

このC言語は歴史も長く、幅広い分野で使われてきたため、 後に登場した多くの言語にも、いわば原型のような形で影響を与えています。 特に、いわゆる「 C系 」と呼ばれる言語 ― C++、Java、C# 等々 ― は、 プログラムをぱっと見たときにC言語風の印象を受けますが、 これは書き方(文法)の基本部分にC言語風のスタイルを採用しているためです。 VCSSL でもその通りで、基本的な処理の記述スタイルはC言語風になっています。

単純なプログラムにおけるC言語とVCSSLの比較図

ただしすぐ後で述べるとおり、VCSSLは簡易用途を想定したシンプル寄りの言語であるため、 メジャーな言語ほどの汎用性はありません。 しかしながら、VCSSLを扱いながら覚えた基本は、C言語や他のC系の言語へのステップアップにおいても、きっと役立つ事でしょう。

もともとは電卓ソフト用の言語
- 手軽さやコンパクトさを優先

VCSSLはもともと、電卓ソフト上でちょっとした計算を自動化するための簡易言語として誕生しました。 そのため、言語としての方向性は、以下のような3つの要求点に基づいています:

  • C言語などをすでに習得済みのユーザーが、すぐ違和感なく使えるように。
  • はじめてプログラミングに触れるユーザーにも、なるべく学習しやすいように。
  • 短い計算や簡易アプリのような、小さなプログラムを手軽に書けるように。

結果として、VCSSLの骨格は、 なるべくC言語風の標準的なスタイルを保ちつつ、 記述の手軽さやシンプルさを優先させたものになっています。

単純なプログラムの例

半面、VCSSLには、オブジェクト指向のような大規模開発向けの言語機能や、 流行の先進的な言語機能などはありません。 むしろ逆で、 VCSSLの骨格は、枯れた技術でコンパクトにまとめ上げ、 「 シンプルで変わらない道具 」という方向での完成形を目指しています。

ライブラリでは色々な用途をサポート
- GUIや簡易3DCG機能も

一方、VCSSLが電卓用の言語であったのは初期の話で、現在はもっと色々な用途に対応できる、独立したプログラミング言語になっています。 そこで、言語の骨格はシンプルなままに保ちつつ、 色々な機能をまとめた「 ライブラリ 」というものが標準でいくつも付属しています:

上記ページの通り、テキストやファイルの処理など日常で必要な機能をはじめ、 GUI ( 画面作成 )や2D & 3DCGなどのグラフィックス機能や、サウンド機能なども標準で利用できます。

3DCG機能やGUI機能を使用した例

ただし、先述したVCSSLの方向性と同様、これらの機能でも基本的に簡易用途での手軽さが優先されています。 たとえば3DCGの描画速度は数十万ポリゴン/秒くらいで、表面にテクスチャ( 絵 )を貼ったりもできませんが、 そのかわり数学的に難しい知識がなくても扱えます。

計算用途のための機能も

電卓用であったなごりとして、VCSSLには計算用途のための機能もあります。 たとえば、処理結果をグラフに表示させる機能や、 大きな桁数の計算なども標準でサポートしています。

ローレンツ方程式の解曲線を、3Dグラフで可視化した例

インタープリタ型の言語でありつつ静的型付け( 「変数と配列」の回参照 )なのも、 計算用途を考慮しての仕様です。 処理速度も 1 億回演算/秒( 100MFLOPS, 倍精度 )程度と、 ちょっとした数値計算や、データの変換・可視化などをこなせる水準です。

「 VCSSLエンジン 」 の上で動作、各種PCでインストール不要で実行可能

VCSSLのプログラムは、 「 VCSSLエンジン 」というインタープリタ型の言語処理系( 前回の後半を参照 ) によって実行されます。 このVCSSLエンジンはJava言語で開発され、各種PC用OSにおいてインストール不要で動作し、USBメモリーからも起動できます。

インストール不要で持ち運べる説明図

つまりVCSSLで書いたプログラムは、VCSSLの実行環境さえ一緒に置いておけば、 何もインストールしなくても実行できますし、USBメモリーで持ち運んで使う事だってできます。 この記事の最後に述べる通り、自分で書いたプログラムを、VCSSLエンジンと一緒に配布する事もできます。

VCSSLでのプログラミング環境の準備

まずはVCSSLの実行環境をダウンロード!

それでは、VCSSLでプログラミングをはじめるために、必要なものを揃えましょう。 ダウンロードと使用方法は、以下のページに詳しく載っていますので、それを参考にしてみてください。

インストールせずに使用してみる

すでに述べた通り、VCSSLの実行環境はインストールせずに使用できます。 まず、ダウンロードしたZIPファイルを右クリックして、「 ここに展開 」 などを選んで展開し、 できたフォルダの中にある「 VCSSL.jar (JARファイル)」をダブルクリックしてください。 このJARファイルがVCSSLの実行環境の本体(VCSSLエンジン)です。すると以下のような画面が起動します。

VCSSLランタイムを起動後の、プログラム選択画面の図

この画面で、実行したいプログラムを選んでください。それだけで実行できます。簡単ですね。 試しに、同梱のサンプルプログラムを実行してみるとよいでしょう。

よく使う場合は、PC にVCSSLをインストール(導入)する事も可能

もちろんVCSSLの実行環境は、以下の通りにPCにインストール(導入)する事もできます:

インストールしておくと、書いたプログラムをダブルクリックするだけで実行できたり、 コマンド入出力端末から vcssl コマンドで実行できたりと、 使う頻度が高い場合に便利になります。

テキストエディタの用意

さて、続いてプログラムを書くために使う、テキストエディタという種類のソフトを用意します。 とは言っても、PCを買った時点で、メモ用のもの(メモ帳など)が最初から付いていると思います。 それでも一応プログラムは書けるので、最初のうちはそれを使うのもありでしょう。

一方で、「 テキストエディタ プログラミング 」などでWeb検索してみると、 プログラミングに適したものがたくさん見つかります。 最初から本格的なものを使ってみたい場合は、 その中で気に入ったものを選びましょう。 たとえば Visual Studio Code などは、各種のOSで使えます:

プログラムを書いて実行してみよう!

プログラムを書く

さあ、いよいよプログラムを書いて、実行してみましょう !   まずは、上で用意したテキストエディタを起動して、以下の一行のプログラムを書きます:

print ( "Hello, World !" ) ;
※ 最後の「 ; 」記号を忘れてはいけません !

Windows 上でメモ帳を使う場合は、スタートメニューから「 Windows アクセサリ 」→「 メモ帳 」などで起動して、上のプログラム内容をコピーして貼り付けるか、書いてください。

先ほど例に挙げた Visual Studio Code を使う場合は、起動してから「 ファイル 」→「 新規ファイル 」を選び、上のプログラム内容をコピーして貼り付けるか、書いてください。

プログラムに名前をつけて保存する

プログラムを書けたら、保存しましょう。 まずテキストエディタのメニューから「 ファイル 」→「 名前を付けて保存 」を選びます。 保存場所はとりあえずデスクトップでもどこでも OK です。

そして「 ファイル名 」の項目に好きな名前を書きますが、ここで名前の最後に必ず「 .vcssl 」を付けてください。 続いて、その項目の下にある 「 ファイルの種類 」の選択ボックスから、「 すべてのファイル 」を選択してください。 例として「 Test 」と名付けるなら以下の通りです:

正しい保存方法における名前と種類の例

上の「 .vcssl 」のように、ファイル名の「 . 」記号の後ろは 拡張子と呼ばれ、 種類を自動で判断するためのものです。 Windows ではよく拡張子を表示しない設定になっていますが、 必要に応じて「 Windows  拡張子  表示 」などとWeb検索し、表示するよう設定してもよいでしょう。

プログラムを実行する

それでは、上で書いたプログラムを実行してみましょう。 先ほどVCSSLをダウンロード・展開した中にある「 VCSSL.jar (JARファイル)」をダブルクリックして起動し、 表示される画面から、上で作ったプログラム「 Test.vcssl 」を選択すると、実行できます。 ( .jar や .vcssl の部分は、拡張子の表示設定によっては見えません。)

実行すると、以下のように黒い画面に白い文字で「 Hello, World ! 」と表示されます:

実行結果の図

そう、先ほどのプログラムは、画面に「 Hello, World ! 」というフレーズを表示する内容だったのです。 実はこれは、プログラミングの入門で、とりあえず最初に表示させてみる、お決まりのフレーズです。 これで私たちは、いよいよプログラミングの第一歩を踏み出したわけです!

プログラムを書きかえて再実行してみる

さて、黒い画面やテキストエディタはまだ閉じないでください( もし閉じてしまった場合は、再び開いておいてください )。 実際にプログラムを作る作業では、少し書きたしては、試しに実行して… をくり返す事になります。そのたびに上の手順を繰り返す必要はありません。

まずテキストエディタの画面に戻り、プログラムの内容を以下のように書きかえてみましょう:

print ( "大丈夫! ちゃんと日本語も表示できます!" ) ;

もとの内容は消してかまわないので、上の内容をそのままコピーして貼り付けるか、書いてください。 そしてテキストエディタのメニューから「 ファイル 」→「 上書き保存 」を選ぶか、または Ctrl キーと S キーを同時押し してください。 すると、このプログラムの内容が、先ほどと同じ名前で保存されます。 (※ エディタによっては、同時押しするキーは異なります。)

続いて、プログラムを実行すると出てきた黒い画面に戻り、メニューから「 Reset 」を選ぶか、または F11 キーを押してください。 するとプログラム内容が更新され、再び実行されます:

プログラムを書きかえた後の、実行結果の図

プログラムを書きかえた結果が反映されて、表示される内容が変わりましたね。そう、ちゃんと日本語も表示できるんです。

日本語が文字化けする場合は、先頭行に文字コード宣言を書けば解決

ところで、上の手順の結果、下図のように謎の暗号のような文章が表示された方も多いかと思います。

文字化けしている実行結果の図

これは「文字化け」という現象で、日本語を含むプログラムの場合にしばしば発生します。 とりあえずここでの対策は簡単なので、心配は要りません。

文字化けは、プログラムの先頭行に、以下のように「 文字コード宣言 」という特別な一行を書いておくと、防ぐ事ができます:

coding UTF-8;

print ( "大丈夫! ちゃんと日本語も表示できます!" ) ;

または

coding Shift_JIS;

print ( "大丈夫! ちゃんと日本語も表示できます!" ) ;

のどちらかを試してみてください。これで再び、黒い画面のメニューから、Reset を選ぶかF11キーを押して、再実行してみると:

文字化けが直った図

ちゃんと表示されるようになりましたね。 最初からちゃんと表示された方も、上の2通りを試してみてください。 どちらかで文字化けが生じる事を実感できるはずです。

上のプログラムで先頭行に登場している、 「 UTF-8 」や「 Shift_JIS 」というのは、 文字コードと呼ばれるものです。 文字コードについて詳しい説明は「 ファイルの読み書き 」の回で行いますが、 簡単に言うと、日本語などの文字をどういうルールで扱うかを決めているものです。 標準で使用される文字コードは、OSの種類やテキストエディタによって違うため、 日本語の扱いがちぐはぐになってしまって、先ほどのように文字化けが生じるのです。

どの文字コードが正解かは使用環境によるため、 これ以降、このガイドでは文字コード宣言は省略しますが、 基本的にはプログラムの先頭で、常に上のように文字コード宣言を書いておいた方が無難です。 プログラムがちゃんと動かない原因を苦労して探して、結局は文字化けが原因だった、 というトラブルを確実に防げるからです。

書いたプログラムを配布するには…

VCSSLで書いた自作プログラムは、完全に(著作権的にも)書いた人のもので、自由に使用し、配る事もできます。 その際、実行に必要なVCSSLエンジンも、標準付属のライセンスを同梱する事で、 自作プログラムと一緒に配る事ができます。手順の具体例を見てみましょう。

基本的には、VCSSLエンジン(VCSSL.jar)などのファイルを一緒に置くだけ

まずフォルダ( ディレクトリ )を作り、その中に自作プログラム 「 (例) Test.vcssl 」 を置きます。 そしてVCSSLの実行環境をダウンロード・展開した中から、 以下のものを一緒に置きます。

  • VCSSL.jar ( JARファイル / VCSSLエンジンの本体 )
  • lib フォルダ
  • License フォルダ

通常はこれだけで十分なのですが、使う機能によっては(2D/3Dグラフプロットなど)、以下も一緒に必要になります:

  • bin フォルダ( 中の拡張子 .bat のバッチファイルは、ダウンロード時にブラウザで警告が出る原因となるので、消した方がダウンロードしやすい )

必要に応じて、いわゆる ReadMe などの説明書も書いて追加しておくと、ユーザーにとって親切です。 あとは、このフォルダごと右クリックして 「 送る 」 → 「 圧縮 」 でZIPファイルにまとめて、どこでも自由に配布できます。

フォルダ内のファイル構成の図

このZIPファイルをユーザーにダウンロード・展開してもらい、「 VCSSL.jar 」をダブルクリックで起動してプログラムを選択してもらえば、普通に実行できます。

プログラムの選択を自動化するには、設定ファイルを 1 行だけ書いて同梱

さて、「 VCSSL.jar 」を起動後、いちいちユーザーにプログラムを選択してもらうのは面倒かもしれません。 これを自動化するには、メモ帳などのテキストエディタで以下の 1 行:

PROGRAM=Test.vcssl

を書き、「 VCSSLSetting.ini 」というファイル名を付けて、「 すべてのファイル 」の種類で保存してください。 上の行の「 Test.vcssl 」の部分には、自分で書いたプログラムの名前を書きます。 あとはこのファイルを、上で作ったフォルダ内に同梱すれば、自動で選択されます。

「 VCSSL.jar ( JARファイル ) 」 のファイル名は、自由に変えて OK

ユーザーにダブルリックしてもらうファイルの名前が 「 VCSSL.jar 」という事が、 なんだか特殊な印象がして嫌だ、という方も多いかもしれません。 その場合は好きな名前に変えてしまいましょう。 ただし、拡張子を 「 .jar 」から変えると実行できないので、注意してください。

電卓ソフト「リニアンプロセッサー」での実行も

VCSSLのプログラミングと実行は、電卓ソフト「 リニアンプロセッサー 」で行う事も可能です。 具体的には、リニアンプロセッサーのウィンドウ左上にある入力項目にプログラムを書き、「=」ボタンまたはF11キーで実行します。 詳細はリニアンプロセッサー付属の取扱説明書をご参照ください。

リニアンプロセッサー
https://www.rinearn.com/processor/

リニアンプロセッサーでは、ウィンドウを最大化すると、入力項目が広がってテキストエディタの代わりとして使えるため、別途テキストエディタを用意・起動する必要はありません。 VCSSLの実行環境も内蔵されており、書いたプログラムを電卓の機能としても使用できます。 そのため、短いプログラムを手っ取り早く書いて実行したり、日常で頻繁に使う場合などに便利です。

一方で、それなりに長いプログラムになると、やはりこの節で行ったように、本格的なテキストエディタで書いて、VCSSLの実行環境で実行する方が便利です。用途に応じて使い分けてください。

記事中の商標などについて

  • OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
  • Windows、C#、Visual Studio は米国 Microsoft Corporation の米国およびその他の国における登録商標です。
  • この記事は独立著作物であり、Microsoft Corporation と関連のある、もしくはスポンサーを受けるものではありません。



スポンサーリンク



スポンサーリンク

この階層の目次
お知らせ

リニアングラフ3D/2Dが連番ファイルのアニメーションに標準で対応
2019年07月17日 - リニアングラフ3D/2Dでは、7月17日公開の最新版より、連番ファイルを連続的に読み込みながらアニメーション描画するプログラムを同梱し、メニューから標準で使用可能になりました。その概要をお知らせします。

Vnanoのスクリプトエンジンアーキテクチャ解説2: コンパイラ
2019年07月03日 - オープンソースで開発中のスクリプトエンジン「 Vnano 」のアーキテクチャを解説する連載の第2回です。今回は、スクリプトを中間コードへと変換する、コンパイラ部分の内部をクローズアップして解説します。

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

新着
連番ファイルから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アカウント

スポンサーリンク