Try a Visual Programming Graphical Language (VPGL)
このサイトでは、さるオブジェクト指向の図示的なプログラミング「言語」VPGLとその「言語」のプログラミングテクニックについてご紹介します。まずは簡単な例(1+2+…+Nの計算)から:
これは、単なる画像ではなく実行限定(編集禁止)モードになっているVPGLのIDEアプリが張り付けてあるもので、左上のRUNボタンを押すと、プログラム図の実行が始まります。(このサイトでVPGLを実行するためにはjavascriptを有効にする必要があるのでご了承ください。)
RUNボタンを押すとダイアログが一つ表示されますので、(おおむね1000ぐらいまでの)整数を一つ入力してOKボタンを押します。すると、表示されているSUMメソッドのプログラム図が実際に実行されて、その結果を表示するダイアログがポップアップします。そのダイアログを閉じると実行が終了します。例えば100を入力すると、計算実行後5050が表示されるダイアログがホップアップするという感じです。
図の解釈方法とIDEでの作図方法については別途詳細に説明しますが、この図をみていただければ、この手続きが(NumberクラスのSUMメソッドが:
上から落ちてきた入力Nが、0以下ならば0を下に出力
上から落ちてきた入力Nが、0以上ならば、N+SUM(N-1)を下に出力
という再帰的定義になっていることが読み取れると思います。(もしスマートフォンなどでご覧の場合には、IDEの部分をピンチイン/アウトしていただければ見やすくなります)
これも別途詳説しますが、VPGLのIDEは、プログラム図の作図、編集、デバッグなどが、仮想キーボードからの単語入力と、図上のシングル/ダブルのクリック/タップのみで可能であるため、物理キーボードが不要となっていますので、タブレット/スマートフォン上でのプログラミングが可能となっています。
VPGL の 3Dアプリ
現在VPGLは簡単な上記のような図をたくさん作図することで3Dアプリが作れるようにライブラリ機能が拡張されています。
例えば3Dブロック崩しはこんな感じです。RUNボタンを押してみてください。バーはカーソル又は指でタッチしてドラッグすると移動できます。球が落ちるか、上部にあるBreakボタンを押すと停止します。
(今のところVPGLで一番複雑なアプリで)3Dの汽車のおもちゃアプリです。Viewpointメニューを切り替えると横から見たり運転席からの視点に切り替わります。BranchNextをチェックすると次のポイントで曲がります。上にあるBreakボタンを押すと終了します。
この次 :
何はともあれ、順番に話を進めていきたいので、次から、簡単な例を順番にご紹介していきます。(次の例はここをクリック)
留意事項につきまして:
このVPGLの言語実行処理系とIDEは、現在すべて完全クライアントサイドのJvaScript+HTMLのシングルページアプリケーションでできております。コンパイルされた機械語で書かれているわけではなく、ブラウザのJavascriptエンジン上での実行ですので、今のところ、おおむねRAMが2GB以下のデバイスではメモリ不足の警告が出ることがあります。(特に汽車のアプリ)
ご了承ください。