ActiveBasicとは
ActiveBasic(アクティブ ベーシック、AB)は、
1999年にプログラマーの山本大祐氏が個人で開発を始めた
BASIC言語処理系です。開発当初はN88-
BASICとの互換性を持つ
インタプリタ言語としてスタートしましたが、長年にわたり独自の発展を遂げ、一般的な
BASIC言語の範疇を超える多様な機能を取り込んできました。
開発の変遷
ActiveBasicの開発は継続的に進化を続けました。
2002年にリリースされたバージョン2.5では、開発効率を高めるためのRAD(Rapid Application Development:高速アプリケーション開発)ツールが統合されました。翌
2003年のバージョン3.0からは、それまでの
インタプリタ方式に代わり、プログラムを機械語に直接変換するネイティブ
コンパイラ方式が採用され、処理速度の向上やより本格的なアプリケーション開発が可能となりました。さらに
2005年に公開されたバージョン4.0では、DirectXへの対応や
オブジェクト指向プログラミングの概念が導入されるなど、機能が大幅に拡張されました。
作者は将来的に64ビット
コンパイラの搭載とWindows Vistaへの完全対応をバージョン5.0で実現することを計画していましたが、その開発を前倒しし、バージョン4.20から64ビット
コンパイラが追加されました(従来の32ビット
コンパイラも引き続き利用可能です)。ActiveBasicは開発当初から一貫して
フリーウェアとして提供されており、誰でも無償で利用できる点が大きな特徴です。
しかし、
2008年7月5日以降、残念ながら公式なバージョンアップは行われていません。現在、評価版としてActiveBasic 5.0 Customer Preview 5 (AB5 CP5)が公開されています。
言語仕様の特徴
バージョン3以降のActiveBasicは、
C言語からの影響を強く受けており、バージョン4ではさらに
C++や
Javaといったより近代的なプログラミング言語の要素が取り入れられています。従来の
BASICには見られなかった、以下のような高度な機能が実装されています。
ポインタ: メモリのアドレスを直接操作するポインタ機能や、ポインタ演算、関数へのポインタといった低レベルな操作が可能です。メモリの動的な確保・解放のために、
C言語由来の`malloc`/`free`関数や、
C++由来の`New`/`Delete`演算子も提供されています。
クラス: オブジェクト指向の概念であるクラスを定義できます。特にバージョン5では、
Javaに近い単一継承とインタフェースの多重継承の仕組みが搭載されることがアナウンスされていました。
コメント: 複数行をまとめてコメントアウトできる`/ 〜 /`形式のブロックコメントが利用可能です。1行コメントには`'`(シングルクォーテーション)が使えますが、従来の
BASICで使われた`REM`による1行コメントはバージョン3で廃止されました。
プリプロセッサ: コンパイル前にソースコードを処理する
プリプロセッサ機能を持ちますが、主に条件コンパイルなどに使われ、
C言語のようなマクロ置換機能はありません。
ガベージコレクション: メモリ管理を自動で行う
ガベージコレクション(GC)機能が、評価版であるAB5 CP3から保守的な方式で搭載されています。
ActiveBasicで「Hello, world」と表示するには、いくつか方法があります。環境設定によって記述が異なります。
`#prompt`を指定した場合
N88
BASIC風の画面入出力やグラフィックス機能を利用する場合です(`#N88
BASIC`も同じ)。
basic
prompt
Print "Hello, world"
`#console`を指定した場合
Windowsコンソールアプリケーションを作成する場合です。この場合、グラフィックス機能は利用できません。
basic
console
Print "Hello, world"
環境指定なし(Windowsアプリケーション)
特に環境指定を行わない場合は、Windowsアプリケーションが作成されます。Windows APIを利用してメッセージボックスを表示する例です。
basic
MessageBox(0, "Hello, world", "Hello", MB_OK)
関連情報
関連書籍:
『ActiveBasicオフィシャルユーザーズガイド』 毎日コミュニケーションズ ISBN 4-8399-1456-7
外部リンク:
activebasic.com (Activebasic公式Webサイト)(日本語)
NoVVest - ウェイバックマシン(
2005年8月30日アーカイブ分) (完全定義ファイルの配布)
現在公開されている最新版はバージョン5.0.0.5です。