もっと手軽にプログラミングをしたい。ちょこちょこっとアプリケーションを作って動かしてみたい。そんな大層なものでなくてもいいから…。そう思うアマチュアプログラマは多いのではないでしょうか。そんな人に最適なのが、REALbasicという言語なのです。
REALbasicは、その名の通りBASICの一種です。というと、すぐに「えーっ、BASICなのぉ?」という声が聞こえてきそうですね(笑)。どうもMacユーザーにはBASICは評判が悪いようです。それは「BASICは初心者向けの言語でたいしたものは作れない」という悪いイメージがあるせいでしょう。その昔、パソコンが世に出てきた頃はほとんどのマシンにはBASICが搭載されていました。その頃のイメージがいまだにこびりついているのかも知れません。
確かにBASICは文法も貧弱で、書いたコードもわかりにくく、本格的なアプリケーション開発には向かないと思われていた時期もありました。しかし、その後BASICも改良され進化しており、今はBASICだから他のものより劣るというようなことはほとんどありません。殊にREALbasicは初心者でも理解しやすくプログラミングしやすいようにできていますから、「BASICだから…」という心配は無用といえるでしょう。
REALbasicは、現在(98.12月現在)、インターネットを通じてオンライン販売されているという、できたてホヤホヤのBASIC言語です。デモ版が無償配布されており、ダウンロードして1ヶ月は自由に使うことができます。使ってみて、気に入ったらライセンスを購入すれば、そのまま正式版として使えるようになります。
(※註――現在、REALbasicは(株)アスキーが日本代理店となり、英語版および日本語版をオンライン販売しています。日本で購入する場合は、(株)アスキーのREALbasic日本語版Webサイトにアクセスして下さい)
1.GUIツールやエディタなどが一体となった統合開発ツールである。
MacのようなGUIをもったプログラムを作るのは非常に大変です。ウィンドウやメニュー、マウス/キーボードの制御などを全てプログラミングしないといけなくなるため、ちょっとしたプログラムを作るのでさえもアマチュアの手には余る長大なソースコードを書かねばならなくなります。
REALbasicでは、GUIに関する部分は全て用意されたツールを使って作成することができます。そして、ユーザーがそれらの部品を操作した時にどのような処理を行なうかという部分だけプログラミングすればいいのです。この感覚は、ちょうどHyperCardで基本部分をツールで作成し、ボタンの中にプログラムを書くのと非常に似ています。
またGUIのツールだけでなく、プログラムを記述するためのエディタ、デバッガ、そしてコンパイラなどの機能を全て組み込んである、いわゆる統合開発ツールとなっています。ですから、REALbasicさえあれば、この他に必要なものは何もありません。
2.オブジェクト指向である。
REALbasicは、BASICではありますが、オブジェクト指向の影響を強く受けています。特にJavaのオブジェクト指向的な考え方に非常に強く、「REALbasicはJavaの開発ソフトとして作られたものにBASICの味付けをしてあるだけではないか」とも思えるくらいです。このため、オブジェクト指向の考え方がわからないと理解しにくい面もあるかも知れません。しかし逆にいえば、REALbasicをオブジェクト指向の入門として考えることもできるでしょう。
3.Windowsのプログラムが作成できる。
これも大きな特徴でしょう。REALbasicのPro版という上位バージョンでは、Macアプリケーションの他に、Win32用プログラムにコンパイルすることも可能なのです。Win32というのは、要するにWindows 95/98/NTで動くソフトだと思ってよいでしょう。それらが、全てREALbasicで作れてしまうのです。
ただし、完全に動くわけではなく、Macだけでしか使えない機能なども開発に注意は必要です。
それから、通常のMacアプリケーションを作る場合も、68K用とPPC用のコードをそれぞれ作成することができます。もちろん、両方を内包したFATアプリケーションも作れます。
まとめるなら、洗練されたGUIエディタやデバッガなどの機能を統合的に組み込んであり、BASICでありながらオブジェクト指向の長所を取込み、近い将来にはMacだけでなくJavaやWindowsのプログラムも作ることが可能な言語、それがREALbasicである、といってよいでしょう。
・Toolsパレット――REALbasicに用意されているGUI関係の部品をまとめたものです。ウィンドウなどを設計する時、このパレットにあるアイコンを作成中のウィンドウまでドラッグ&ドロップして部品を配置します。部品の種類はこまめなバージョンアップにより少しずつ増えています。図はDR1r34版ですが、これより新しいものでは更に増えている可能性があります。
・Colorsパレット――色を選ぶパレットです。16の無色のマス目がありますが、これをクリックするとカラーピッカーダイアログが現れ、色が選べるようになります。ここで色を選ぶと、その色がマス目に表示されます。後はその色を使いたい時、マス目のカラーをドラッグ&ドロップします。
・Projectウィンドウ――現在作成中のプログラムで必要なファイル類を統合管理するウィンドウです。例えばグラフィックなどを使いたい時は、このウィンドウにドラッグ&ドロップするとそれが使えるようになります。またウィンドウやメニューなどもここに一覧表示されます。これらを編集したい時は、Projectウィンドウから修正したいウィンドウ/メニューをダブルクリックで開くと、その編集画面が現れます。起動時には「Applet1」「Menu」という2つの項目があるはずですが、これらはそれぞれデフォルトのウィンドウとメニューを示すものです。
・Propertiesパレット――オブジェクトの属性(プロパティ)を編集するためのパレットです。GUIを作成している時、配置している部品をクリックして選択すると、そのオブジェクトに用意されている全プロパティがこのパレットに一覧表示されます。その値を書き換えることで、オブジェクトの設定などを行なうことができます。
では、実際に何かを作ってみましょう。以下に示す手順通りに行なってみて下さい。
1.起動すると、新規にプロジェクトになっているはずです。ではProjectウィンドウから「Window1」をダブルクリックしてみて下さい。画面に新たなウィンドウが現れます。これが「Window1」というウィンドウの編集画面です。ここにToolsパレットを使って部品を配置し、ウィンドウを作成します。
2.Toolsパレットにあるボタンのアイコンを、開いたウィンドウまでドラッグ&ドロップしてください。これで「Untitled」というボタンがウィンドウに作成されます。部品は全てこのようにパレットからドラッグ&ドロップして配置します。
3.では、作成したボタンの表示を変えてみましょう。ボタンをクリックすると、そのボタンのプロパティがPropertiesパレットに現れます。ここでCaptionという項目を探して下さい。これがボタンに表示されるテキストのプロパティです。これを「Quit」と変更しましょう。
4.最後に、作成したボタンにプログラムを記述しましょう。ボタンをダブルクリックすると、画面に「コードブラウザ」というウインドウが現れます。これは、開いているウィンドウ内にある全てのオブジェクトに割り付けるプログラムを統合管理できるエディタです。左側にユーザーが作成した各種のオブジェクト名の一覧が、右側に実際にプログラムのリスト(これをソースコードと呼びます。ソースコードを書くから「コードブラウザ」なのですね)を記述するようになっています。開かれた時には、オブジェクトの「PushButton1」内にある「Action」というものが選択されているはずです。これは、「PushButton1というオブジェクトに用意されているActionというイベント(後で説明)のソースコードだ」ということを示しています。そして右のエディタ部分には、
Sub Action () End Subこのように書かれています。この間の空白部分に「Quit」と書き込んで下さい。これがボタンに割り付ける命令です。
ブラウザを閉じれば、プログラムは完成です。「Debug」メニューから「Run」を選んでみて下さい。プログラムが実行され、作成したウィンドウが現れます。そしてボタンをクリックすると終了します。どうです、簡単にプログラムが作れましたね?
Sub Action () Quit End Subこのようなプログラムでしたね。REALbasicは、「イベント駆動型のプログラミング言語」です。すなわち、ユーザーが何らかの操作をすると、それに対応する「イベント」とよばれるものが発生します。このイベントは、その操作の種類によってこまかく分かれており、「このイベントが起きたらこのコードを呼び出す」ということがあらかじめ決まっているのです。 このサブルーチンというのは、全て以下のような形をしています。
Sub 《イベント》 (《パラメータ》) ……実行する命令…… End Subつまり今回作成したサブルーチンは、Actionというイベントが発生した時に呼び出されるものであったというわけです。
このActionというイベントは、ユーザーがオブジェクトを操作した時に発生するものです。ボタンであれば、ボタンをクリックした時に発生します。また、サブルーチンに記述された「Quit」という命令は、文字通りプログラムを終了する命令です。
ユーザーがこのボタンをクリックすると、それに対応するActionというイベントが発生し、それに対応する「Sub Action ()」というサブルーチンを検索して実行していた、というわけです。――いかがでしょう、REALbasicにおけるプログラム実行の働きがわかったでしょうか?
全てのオブジェクトには、それぞれのオブジェクトに応じたイベントが多数設定されています。REALbasicのプログラミングは、このように用意されているイベントに対応したサブルーチンを書くことでプログラムを作っていくのです。
「Build:」――Macのアプリケーションを作るか、Javaのアプレットを作るかを選択します。(註:これは現在のバージョンでは削除されました)
「Name:」――アプリケーション名です。
「Include」――作成するアプリの種類に関するもので、68K用かPPC用かを設定します。両方ONにすればいわゆる「FATバイナリ」のアプリになります。
「Memory:」――アプリケーションの割り当てメモリを設定します。これはFinderで「情報を見る」メニューで設定するのと同じものです。
「Get Info:」――これはバージョンに関する情報を設定する部分です。「情報を見る」のウインドウで表示されるバージョン情報です。
「Icon:」――アプリケーションのアイコンを設定します。これはアイコンをあらかじめ作っておき、コピー&ペースとして設定します。
とりあえず「Build:」で「Macintosh Application」を選び、「Include」で「68k Code」のチェックをONにし、「Name」に「Test」と入力して「Build」ボタンを押しましょう。コンパイルが実行され、(デフォルトでは)REALbasic本体があるフォルダ内に指定した名前のMacアプリケーションが作成されます。
では、今度は「Build:」でJava Applet」を選んでコンパイルしてみて下さい。おそらくブラウザが開かれ、先ほど作成したAction ()のところでエラーが起きて止まるはずです。
なぜかというと、プログラムを終了する「Quit」という命令は、Javaアプレットでは使えないからです。先に「JavaアプレットではREALbasicの機能が制限される」といいましたが、このようにJavaアプレットにする場合には、使えない命令というのが出てきます。簡単にJavaアプレットが作れるといいましたが、こうしたREALbasic特有のクセがあることも知っておくとよいでしょう。
最後に表示に関するオプションについても触れておきます。デフォルトでは、コードブラウザは英語のフォントになっており、ここに日本語の文字を書いたりすると文字化けしてしまいます。そこで、このフォントの変更方法を説明しておきましょう。
1.「Editor Setting...」メニューを選びます。
2.現れたダイアログの「Source Font」にあるポップアップメニューから、コードブラウザで使いたいフォントを選びます。
3.「Default Control Font」は部品に名前やテキストなどを表示する際のデフォルトフォントです。これも同様にポップアップから選びます。
4.設定が終わったら「OK」ボタンを押せば設定変更されます。
とりあえず、これでウィンドウに部品を配置しプログラムを書いてコンパイルする、という、プログラミングの基本部分がざっと頭に入ったかと思います。次より実際のプログラミングに入りましょう。