開発代表者:白井達也(鈴鹿工業高等専門学校 機械工学科・准教授)
開発メンバー:白井達也のみ.共同研究者,共同開発者,その他,絶賛募集中!
近年,プログラミング教育の導入用言語として多く用いられるようになったプログラミング言語Processing.完全フリーでありながら統合開発環境が用意され,多くの入門書が出版されており,世界中でも広く用いられている.自然とオブジェクト指向の考えが身に付くため,Processingでプログラミング技術の基礎を学んだ後に他の言語へ移るのも容易と,良いことずくめ.Androidのプログラムだって作れてしまう.
しかしProcessingには致命的な弱点があります."Hello, world"のprintf()からプログラミングを学んだコンソール入出力世代には信じられないことに,Processingにはテキスト文字を気軽に表示する機能やキーボードから文字列を入力する機能が用意されてません! 数値解析のプログラムを作ったとしても,データやパラメータの入力,その結果をダラダラダラ~と画面に垂れ流す,あの手のプログラムが作れません.なるほど.とりあえずプログラミングのイロハのイを学んだら,あとは素早くC++なりJavaなりC#なりへ移れば良い,と? その考えを否定するつもりはありません.情報系学科ならばそれで良いでしょう.でも私が授業を担当しているのは機械工学科です.
さて,という訳で古典的と罵られても気にしません.コンソール対話型のプログラミングをProcessing上で可能とする高機能フレームワークCrowbarを即席で開発しました.その勢いでウィンドウ風のビューポートを使った高度なグラフィックスプログラミングが可能なフレームワークTomahawkも即席で開発しました.あまりにも即席で作ったために内部構造がガタガタな部分もあります(でも動きます).
正直言いますと,かなりの自信作です.Processing上でこんな機能(Crowbarの部分)を実現した話は聞いたことがありません.似たようなことを実現するのならば,たぶん,もっと高度でエレガントな方法を取るでしょう.私はJavaの知識が無いことが幸いしたのか,すべての機能をProcessingのみで実現しています.したがって特殊なプラグインをインストールしたりする必要もありません.ソースはすべて公開していますので,バグを見つけたらチャチャッと治せることでしょう.
「ダウンロード」にあるCrowbar*.**.**.zipがフレームワークです.フレームワークは雛形なので,これを元にして新規のプログラムを作成して下さい.裏を反せば,このファイルだけをダウンロードして実行しても何も動きません.Crowbar + Tomahawkの力を知るには,その他の(たくさんの)サンプルをダウンロードしてProcessingで開いて実行して見て下さい.申し訳ありません.それぞれのサンプルには説明が一切ありません.誰か手を貸して下さい.いや本当に.
Crowbarもマルチステートメント対応.
Ver.3.05.00 :
開発期間: 2012/07/16 - 2012/08/02
Crowbarで文字列出力を行なう際に"\n"を記述することで改行可能とした.これはオリジナルのProcessingも持つ機能らしい.
crowbar: nonStop()に引数を追加.指定された回数だけuserDraw()を実行して終了する.
Crowbarの大半のコマンドでマルチステートメントが利用可能になりました.
パラメータの宣言(define(), defineStr(), defineSel())でパラメータラベルが使用可能になりました(label())
システムメッセージを最小に抑えたサイレントモードを用意しました.(silentMode())
システムメッセージに色を付けると同時に,色変更のコマンドを追加.(setSystemColor())
強制終了(crow.halt())時のインタフェースを追加.