結構すごいBASIC

興味でMETALというBASICコンパイラ(METALのサイトにはメタ言語がどうのこうのって書いてあったけど...どういうこと?)を導入してちょっと弄ってみました(FBはどうした!?)。
これが結構すごくて、コンソールベースでありながらChipmunk Basic(以下CBas)のようにばりばりグラフィックが扱え、コンパイルしたバイナリは結構小さい(プログラムが小さければウィンドウ版CBasc本体より小さくなる)。
試しに作ってみたプログラム(手ごろなのはやっぱりNScripterスクリプトデコーダw。わずか31行。インターフェースを気にしなければもうちょっと短縮できる)をコンパイルさせたところ、たった184KBのアプリケーションの出来上がり。CBasに小細工してダブルクリックでスタートよりも、METALでコンパイルして即ダブルクリックのほうがバイナリも小さくて簡単。動作速度も結構良好。この程度のプログラムならむしろMETALを使った方がいいのかも。もっとも、CBasにはターミナルから実行できるコマンドライン(以下CLI)版もあるので、ターミナルとともに生活している人にはやっぱりCBasはうってつけ。しかもCBasのバイナリはMach-O Carbonだしね。
ちなみに、METALはコンソールベースであってもインタープリタではありません。証拠に、デバッグにもコンパイルは伴います。

Chipmunk Basic VS. METAL
CBasMETAL備考
GUI×△*1
コンパイル×METALはバイトコードタイプ
クロスプラットフォーム×△METALはCarbonLibが動作するMac OSのみで動作
ANC-BASIC*2
CLIバージョン×
UI*3*4
Mach-O Carbon×

あとは、CBasは68Kの時代からあり、結構最近(2004.09.26)までアップデートが続いていたので、信頼性という点でも上。

*1:CBasはCBas本来のメニューにカスタムメニューを付け足したり、カスタムダイアログをリソースで作ることが可能。METALは簡単なアラートの表示とクリックとキー入力を取得できる程度

*2:METALはRbと比べるとANC-BASICに近いが、それでもかなり拡張されている

*3:コンソールベースだがGUIも使用できる

*4:コンソールベースだがグラフィックを描画できる