ビスケットのあれこれ

ビジュアル言語ビスケット(Viscuit)に関するあれこれを書いてゆきます.

マックに対する違和感

2011-10-10 08:54:27 | 1
茂木健一郎さんのツイート

「コンピュータ・オタクたちよ、経験も計算の一部分なんだよ」もしくは「マック信者たちは、ずっと<こけ>にされてきた」


これを読んで,マックに初めて触れてからずっと(つまり27年前?)僕が抱いていた違和感がやっとわかった気がする.僕は茂木さんが言うところのコマンドライン側の人間だったわけだけれど,マックを見てからそれまでの僕の頭の中にあったコンピュータとは違うものが出てきたというか,世の中の人たちがそっちに行っちゃったというか.

僕が思っているコンピュータというのは,人間とコンピュータは仲良しだ,というものだった.仲良しになるには,双方が歩み寄る必要がある.コンピュータが人間のために働くだけでなく,人間がコンピュータのために働かなきゃならない.そして,双方が理解できる言葉を使って会話する,つまりプログラムを書くということだね.

マック以前,つまり文字だけのコンピュータのときはプログラムはすごく簡単だった.ほんと中学生でも作れるくらい.それを説明したのがこの2つの図.これはこの前,明治大でやった講演からとってきたスライドだけど.


1枚目は当時のパソコンのハードウェアを説明している.当時のコンピュータは,画面には格子状に文字を置くことしかできなかった.そのためのハードウェアがキャラクターVRAMで,画面上の文字の座標とメモリー上の座標が1対1に対応していた.メモリーのある番地に文字コードを書き込めば,自動的に画面の対応する位置に文字が表示された.また,画面のどの場所にどんな文字が書かれているかは,メモリーを読めばすぐにわかった.

こちらの図は,そういうハードウェアで作ったスキーゲーム.画面が上にスクロールするなかで,スキーヤを左右にコントロールして,うまくゲートを通過して得点を競うものである.ポールにぶつかると転ぶ.画面に何の文字が書かれているかは,メモリーを読めばいいだけなので,本当に簡単なプログラムで,当時はBASICという言語で書くのだけれど,10行くらい.僕は暗記していたので,電気屋さんにおいてあるコンピュータに勝手に入力して,その場で遊んだりしたものだった.インターネットはおろかパソコン通信すらないころ.当時のコンピュータは,プログラムを作らなければ何にも動かない装置だったわけだが,普通の電気屋さんに売っていたのがすごいかも.一般の人にプログラムを作らせようとしていた.

この2枚の図で説明したかったのは,昔は人間とコンピュータは仲が良かった,ということだ.お互いが理解できる言語,つまり文字コードと画面の座標というのを使って,会話することができたのだった.

ところが,画面がビットマップの時代に入り,プログラムの書き方がガラッと変わる.人間の経験を最優先するようになった.コンピュータにとって扱いやすいとかそういうことは一切無視されて,すべては人間のために発達してきた.プログラムはすべて裏方に徹し,人間がどう感じるかだけが議論されてきた.

人間は2種類に分類され,オタクと呼ばれる人たちは,コンピュータの言葉を話すことのできない人間たちのために,プログラムを書くようになった.お金はそう流れるようになり,プログラムをかける人たちがこの業界の最下層に位置づけられるまでになってしまった(その逆に,人間側の言葉を話す人たちが最上位に位置している).この分断の始まりがマックだった.

さて,ビスケットの話.ビスケットは,これまでコケにされてきたプログラミングの地位を上げようということで開発された.僕がその他の教育向け言語が嫌いなのは,あんなのを見せてもコケにされっぱなしは解消しないと思うからである(同士討ちは今はやめておこう).人間の経験が最優先する時代に,人間とコンピュータが仲良くなれるプログラミング言語はどういうものか.それを考えて作ったのがビスケットだ.

ビスケットの最大の特徴というか,何に気を付けて作ったのかというと,人間とコンピュータは同じものを見るべきだ,という考えを徹底したところだ.コンピュータは人間様のために裏で苦労するのではなく,人間と同じものを見れるようにもっと賢くならなければいけない.そこでコンピュータに曖昧な処理をさせたわけです.この視点からビスケットを見直すと,まだまだやらなきゃならないことは沢山ありますね.

タイトルから誤解を与えないように言いますが,学生時代一番多く使ったコンピュータはマックでした.ただ,「ユーザ経験を最優先するなかで忘れられたことをどう取り返すか」をずっと考えていて,だんだん素直には喜べなくなってきた.

ここではビットマップに対するプログラミング上の課題について述べたわけだけれど,マルチタッチというのがこれがなかなか曲者で.さらにプログラミングは難しく,遠くに行ってしまいました.これについては別に書きます.これを克服したらやっと悲しめるんだろうな.