HyperCard tribute

HyperCardはなにが得意?


 では、HyperCardの得意な点を挙げてみます。

1.直感的にプログラムができる
2.短時間でプログラムが作れる
3.一般的な言語と比べて敷居が低い
4.オブジェクト指向言語であるため今までのライブラリの流用が容易である

これらが得意な分野です。

「直感的にプログラムができる」「短時間でプログラムが作れる」
 「HyperCardとは」でも書いたように、ごくごく自然な考え方を使ってプログラミングをすることができると言うことです。HyperCardが自然言語に近い形態をもっているという事と、インタープリター言語(実行時にコンパイルする)であるため、プログラムの編集・変更などが容易であるという事も一つの理由でしょう。
 そして、もう一つHyperCardの大きな理由は、最も時間のかかるボタンやフィールドなどのユーザーインターフェースがごく容易にできるということなのです。

 具体的に例を出してみましょう。
これから、プログラミング言語の説明本には必ず載っている「Hello」を表示するプログラムを作ってみます。(詳しい説明はここでは省きます)

まず、ボタンを用意します。

次にこのボタンに以下のプログラムを覚えさせます。
on mouseup
 put "Hello" into msg
end mouseup

<1行目>on mouseup
 これは、マウスのボタンが上にあがったらという意味です。上にあがったらというのは、マウスのボタンを押して指を離したらということです。
<2行目>put "Hello" into msg
 putは「入れる」と考えればよいでしょう。この行は、"Hello"をmsgに入れるということになります。ここで多くの人は、msgは何?と思ったことでしょう。msgとは「メッセージボックス」の略で、あなたにメッセージを伝えるための表示場所を表します。つまり、「メッセージボックス」に「Hello」を入れます(表示します)ということです。
<3行目>end mouseup
 この行は、これでマウスのボタンが上にあがった時の処理を終わりますと言う意味です。

さて、少し思い出してみてください。下の1文は、1section「HyperCardとは」での1文です。

「スイッチボタンがおされたら」
「明かりをON、OFFする」ということを
「スイッチボタンに覚えさせている」

対比させてみます。
「マウスのボタンが押して、指を離したら」
「Helloをメッセージボックスに表示する」ということを
「ボタンに覚えさせている」

 この考え方はHyperCardの基本となりますのでがんばって理解してください。それにしても、とても直感的だと思いませんか?
 ここまで見てもらえればわかるように、コンピュータ的な手続きが全くいらないため、プログラムを短時間で作ることができます。(今までの言語はコンピュータとお話しするために、人間の考えていることや、人間がこれからすることのための手続き、が必要なのです。)

「一般的な言語と比べて敷居が低い」
 HyperCardは覚えることがとても少ないです。上のようなサンプルプログラムで使ったような命令をいくつか覚えただけでプログラムがつくれるようになるでしょう。この部分については、これから先徐々にわかってくると思います。

「オブジェクト指向言語であるため今までのライブラリの流用が容易である」
 HyperCardが、オブジェクト指向言語であるということはもうお話ししましたね。オブジェクトとは何だったか覚えてますか?
 オブジェクトとは、先の具体例で説明した「ボタン」などの事を言います。そして、このオブジェクトに動作を覚えさせていると言うことを思い出して下さい。
 つまりこの意味は、新しくプログラムを作ったときに、同じ様な処理(Helloを表示する)をさせることがあれば、そのまま流用できるということです。
 例えば、ボタンを押したら「Hello」と表示するスクリプトを作りたいと思ったとします。それならば、先に説明した「ボタン」をクリックして、編集から「コピー」を選び、新しいプログラムに「ペースト」すれば、Helloを表示するオブジェクトを作成(流用)できるということです。
 この考え方もHyperCardの基本となります。プログラムを作るのに重要なのは、このオブジェクトを利用する能力なのです。似たような物を作るのならば最初から作る必要はありませんし、全く同じ物であるならばそのまま流用すればいいのです。