何故HyperCardか

『HyperCardって白黒だし、遅いし、なんかダセーよな、ってあなたへ』

HyperCardはすげぇ

 HyperCardは物凄く良くできたソフトで、その素晴らしさは余りにも明らかである。
 と、思っていたのだが、どうもそうでも無いようなので、言葉にして逐一説明することにした。
 思い付く限り列挙すると、一生HyperCardがどう凄いか書き続けてしまいそうなので、適当に割愛して凄いと思うところを幾つか並べてみた。

HyperLinkの体現者

 HyperCardはその名の通り、インターネットが一般に浸透するずっと前からHyperLinkを実現していた。
 これはかっこいい、正直なところ私はシビれたね。
 HyperLinkはコンピュータがコンピュータらしく使われる機能で最も顕著なものの一つであるのだが、ベースにその概念を持つHyperCardのカッコよさといったら後光がささんばかりである。
 HyperLinkがどう凄いかは、HTMLがこれだけ普及したのだから、今さら説明する必要も無い気もするのだがハイパーテキストの可能性でも書いたように、イマイチ凄いと思われていない気がする。
 HyperLinkがどう凄いか説明すると長くなるので、「HyperLinkってのは凄いのです。だからHyperCardも凄いのです」ってことで納得していただきたい。

HyperTalkの言語としての先進性

 HyperCardが登場したのは十年前の夏。
 ほとんどのアマチュアプログラマーは、BASICなんていう構造化とは無縁の言語を、GUIはおろか1ラインにも等しいお粗末なエディタでシコシコとぐちゃぐちゃのプログラムを組んでいた。
 そんな時代にGUIと構造化とオブジェクトの概念を持ったHyperTalkが出てきたのだから驚異的である。
 個人的にはインタプリタであるため、実行中に自分自身のコードを書き換えることができるという他に類を見ない自由度の高さにシビれた。
 これはコンパイラでは絶対実現できない特徴である。
 今後はさらにマシンは高速化し、殆どの処理でコンパイラを使う言語の必要性は無くなってくるのは必然であり、インタプリタ言語の優位性がますます際立ってくるだろう(ちなみに、正確にはHyperTalkは半インタプリタ言語で、実行の前に一時的にコンパイルされる)

HyperTalkの修得の容易さ

 さらにHyperTalkの素晴らしい点は、自然言語(英語)に近く、カードの移動を基本としプログラムの流れが視覚的に掴みやすいので、容易に修得可能であるという点にある。
 これは小学校など(もちろん大人でも良い)で最初にプログラムを学ぶ場合に最も適した言語の特徴であると言える。
 Macintoshプログラマーの多くは、HyperTalkを入り口としてプログラムを始めていることからも、その修得の容易さが伺える。
 Macintoshが「残された私達のためのパソコン」ならば、HyperTalkは「残された私達のためのプログラム言語」であると言える。

Macの最もMacらしい部分

 多くの人にとってMacintosh=HyperCardであって、MacintoshからHyperCardをとったら、かなりつまらない物になってしまうのは間違いない。
 私も、もしFinderが無くなったとしてもHyperCardが無くならなければ、Macを使うだろう。
 Macらしいと言われるソフトの殆どはHyperCardをベースとして出現している、つまりHyperCardが無くなったら、MacのMacらしさは潮が引くように無くなり、つまらないハコに成り下がることであろう。
 それと同時に、HyperCardのインターフェースはMacOSのそれに捕われず、「さらにその先」を指向していたことも注目に値する。

作ると使うの近しい関係

 C言語で作ったアプリケーションは、ユーザーの改造はほとんど不可能であるが、HyperCardのアプリケーション(スタック)は改造できるのが当たり前である。これは現場現場の実情にあったきめの細かいアプリケーション開発が可能であることであり、使う人=作る人であるので、満足感も高い。
 使っている途中にちょっとボタンの位置が気に入らなかったら、すぐに動かせるし、背景に好きな模様を書き込んだりして気分を変えたりするのも全く容易である。
 これはHyperTalkがインタプリタであるからできることでもあり、インタプリタ言語の優位性を示すものでもある。
 ただ、市販アプリなどの悪影響か、ロックした(改造不能の)スタックが近年増えているのは残念な限り。ロックした(特に実用の)スタックの価値は、激減することがイマイチ判っていないようだ。

最も速度の速い言語HyperTalk

 ここでいう速度は開発速度である。
 HyperCardスタックは開発スピードが非常に速く、発想から完成までのアイディアの劣化が少ない。
 つまりは思いつきで完成品が作れてしまう。他のツールや言語では、思いつきで作ったらほとんど必ず挫折が待っている。手続きが面倒すぎるからだ。
 スタック作品にはつまらない物が多い、これはとりもなおさずHyperCard(HyperTalk)が優れているということだ。つまらない思いつきでも形にしてくれることの証明である。他のものではこうはいかない。
 スタックがつまらないからHyperCardがつまらないと思うのはお門違いである。実際はその逆である。

開発環境が全て入っている

 HyperCard以外の開発ツールは、他のグラフィックツールやエディタと組み合わせなければアプリケーションの全ての部品を用意することができない。
 HyperCardの場合は、HyperCard以外のツールは基本的に必要のないような設計になっており、特にグラフィックツールはマックペイント直系の非常に使いやすい高性能なものになっている。HyperCardでのペイントのレスポンスの良さに慣れると、なかなか別のペイントツールを使う気になれない。
 もちろん、エディタやデバッガ、アイコンや音作りのための方法も用意されている。

白黒であること

 よくHyperCardの弱点と言われる、基本が白黒であることは、むしろ利点である。
 白黒であると当然扱うデータが少なくなる、これはツールの種類を少なくし取っ付きをよくする。
 カラーになるとペイントするときのパレットを選ぶ操作が、これでもかって面倒臭い。白黒ならばパレットを選ぶ必要は無いので、操作に遅滞が無く実にスムーズである。
 カラーになると白黒特有のツールの使い方や日本漫画的表現ができにくくなるので、カラーになってもらうと困る面も多い。
 それに、今でも「カラーにする程、コンピュータ環境は整ってない」とも思っているし、素人が作ったWebページの色遣いの悪さを見るにつけ、カラーじゃ無い方が上品でいいと思う。
 ただ、カラーじゃ無いのが「異常に素人受けが悪い」のは困ったもんである。カラー化されるのはある意味HyperCardの退化とも言えると思うのだが。

カードのメタファの判りやすさ

 HyperCardのスタックはその名の通り、カードを基本単位として作られる、これは実に判りやすく、スタックの構造を把握するのを容易にしている。
 カードという構造を導入する事により、プログラムの流れを整理することができ。アプリケーション全体の構成を視覚的に把握することができる。
 また、文字を読む時は圧倒的にページ単位で開く本の体裁が優れている。コンピュータで主流のスクロールは読みにくく、全体の量も把握しにくい(というわけで、スクロールフィールドの導入はHyperCardの退化であると思っている)

ファイルが軽い

 HyperCardファイルであるスタックは主要な機能をHyperCard本体に持っているため、スタックに置くコードは最小限ですむ。
 また白黒が標準なので、これもファイルが軽くなる要因となっている。
 この軽さはオンラインでやり取りするのに優れている。Directorで作ったファイルをメールで突然送りつけて、それがしょうもない一発ギャグだった日には、温厚な私でもブチきれること請け合いだが、HyperCardのファイルならば少々凝ったことをしても100KBに満たないので、「しょうがねぇなぁ」と思う余裕ができる。
 文化の形成に必要なのは、この余裕である。

無料バンドル品

 最近はHyperCardPlayerという開発ができないバージョンしかついてこなくなったが、HyperCardはもともとMacOSに付属してくるものだったし、現在もバージョン2.2のlite版はフリーウェアとしてダウンロード可能になっている(開発環境まで無料なのは2.2までなので、私は2.2で解析できることを前提にスタックを開発している。そうしないと「作ると使うの近しい関係」という利点をスポイルしてしまう)
 OSに付いてくると言うことは、「試しにプログラムでも」と言う気を起こさせるためには非常に重要なのは言うを待たない。
 実際、コンピュータ言語としては散々な言われようのBASICであるが、ほとんどの8bit時代のパソコンに付属していたので、入門として最も多くつかわれたのは異論のないところであろう。
 OSに付いているとユーザーも必然的に多くなるので、情報も多くなり、これがさらに修得の容易さを加速する。
 言語は「手に入れても、まるっきり使えないかもしれない」という可能性をつねに思い起こさせるものであり、このことは、たとえフリーウェアであっても、入手に二の足を踏ませるに十分である。だが「既に手許にある」のならば話は別だ。失敗しても痛く無いし、むしろ「使わなければ損」と思わせる。

拡張性の高さ

 XCMD等の外部関数を追加して、比較的楽に機能を拡張できることがHyperCardの利点とされる事がある。
 利点と言えば利点だが、私は正直なところ嫌いである。建て増し住宅は美しく無い。拡張をくり返したという意味では、ペンティアムも嫌いだしDOSVマシンも嫌いだし、Windowsは勿論MacOSも嫌いである。
 拡張性が利点であることは判っていても、あまり褒めない。嫌いだから。

スタックと和美

紙に近いツール

 総合するとHyperCardがいかに「紙に近いツール」であるのかが判ると思う。
 私は他にこれ程、紙に近い感覚で使えるツールをしらない(白黒だって事も関係しているとも思うのだが)
 HyperCardの凄いところは紙に近いだけで無く、同時にコンピュータをコンピュータらしく使えるツールでもあることである。

 これらの利点を合わせ持つツールは他のコンピュータ(OS)を探しても無い。つまりHyperCardが無くなったら他にHyperCardを置き換えるソフトはどこにも存在しないのだ(OpenDocが順調に開発されていたら置き換えたかもしれないが)
 これは非常に重要なことだ、HyperCardが無くなるということは、未来の一つを失うことと等しい。

「HyperCardこそは未来である」


1998-11-06