第2部 第5章 人ひとりのコンピュータは大型の亜流にあらず |
1980 もう1人の電子少年の復活 |
東大版タイニーベーシック
富田倫生
2010/6/21
本連載を初めて読む人へ:先行き不透明な時代をITエンジニアとして生き抜くためには、何が必要なのでしょうか。それを学ぶ1つの手段として、わたしたちはIT業界で活躍してきた人々の偉業を知ることが有効だと考えます。本連載では、日本のパソコン業界黎明期に活躍したさまざまなヒーローを取り上げています。普段は触れる機会の少ない日本のIT業界の歴史を知り、より誇りを持って仕事に取り組む一助としていただければ幸いです。(編集部) |
本連載は『パソコン創世記』の著者である富田倫生氏の許可を得て公開しています。「青空文庫」版のテキストファイル(2003年1月16日最終更新)が底本です。「青空文庫収録ファイルの取り扱い規準」に則り、表記の一部を@ITの校正ルールに沿って直しています。例)全角英数字⇒半角英数字、コンピューター⇒コンピュータ など |
東京大学大型計算機センター助教授の石田晴久は、『PCC』が呼びかけた当初から、タイニーベーシックの手作り運動を興味深く見守っていた。
エンジニアライフ コラムニスト募集中! |
あなたも@ITでコラムを書いてみないか 自分のスキル・キャリアの棚卸し、勉強会のレポート、 プロとしてのアドバイス……書くことは無限にある! コードもコラムも書けるエンジニアになりたい挑戦者からの応募、絶賛受付中 |
創刊された『DDJ』につぎつぎと新しいバージョンが発表されるのを見て、石田はアメリカのホビイストたちの勢いをあらためて思い知らされた。『DDJ』に初めて登場したテキサス版が、いかに機能を限ったものとはいえ2.9Kバイトに収まっていると知って、通勤電車の中で8進数で書かれた機械語のリストを読みはじめ、何をどう処理しているのかを分析してみた。だが石田本人には、自分でタイニーベーシックのインタープリターを書いてみる気持ちはなかった。
コンピュータ科学の研究者である石田にとって、手作り運動を呼びかけたボブ・アルブレヒトが、7歳の子供になったつもりで書いてみないかとしたタイニーベーシックは、仕事のテーマにはなりえなかった。模型を作る暇があれば、本物に取り組むのが石田の立場だった。
1975(昭和50)年にベル研究所に留学した石田は、ケン・トンプソンらによってここで開発されたUNIXの使い勝手のよさに強く印象づけられた。加えてこのOSを書くために開発されたプログラミング言語Cを体験し、その可能性を確信するにいたっていた。大型計算機センターに帰った石田は、UNIXの環境をセンター内に整備したいと考えた。センターには修士以上しかいないこともあり、いまさらタイニーベーシックでは学生の研究テーマにもならないように思えた。しかも自分1人で一から書くようなことを考えれば、この程度の規模のものでも1カ月程度は一心不乱に集中して作業しなければ、とても仕上げられるものではなかった。タイニーベーシックは研究者のテーマとはなりえず、しかも趣味として書くにはあまりに大きな労力を求めた。
『DDJ』が8080版の掲載を締め切ってからも、石田は日本のホビイストの中から自作のタイニーベーシックを発表する者が出るのではないかと期待し続けていた。だがいっこうに、そんな話は聞こえてこない。そんな中、石田は『DDJ』の1976年11/12月合併号で、メンローパークに住所を置いているコミュニティー・コンピュータ・センター(CCC)を名乗るグループが、プログラムの配布活動を行うと告知しているのを目にした。
CCCは、ソフトウェアの書き手たちに作品を流通させるための〈もう1つの選択肢〉を提供しようと考えていた。
これまでも書き手には、『DDJ』のような雑誌にプログラムのリストを掲載するという手があった。だが印刷の工程でミスが生じると、えんえんと入力したプログラムは結局動かず、失意の読者は往々にして昼夜を問わずに電話で問い合わせを入れて、書き手を悩ませた。原因が何であれ、ともかく動かないという事態が生じると、クレームは金銭の見返りを求めずに労作を公開した作者のもとに寄せられた。
MITSをはじめとするメーカーは独自のユーザーグループを組織しはじめており、書き手にはここに作品を登録するという手もあった。だが中には高額の入会費をぶんどったうえに、会員がただで提供したプログラムに値段をつけようとするようなメーカー主導のグループも存在し、こうしたあり方をCCCはよしとしなかった。
もちろん書き手には、プログラムを商品として売る道もあった。だがCCCは、見返りは求めないパブリックドメインとする気持ちはあっても頒布の作業を引き受ける決心はつかず、私生活を電話攻勢で台無しにされたくないと感じている多くの書き手のために、もう1つの選択肢があって然るべきだと考えた。そこでCCCは、書き手が紙テープに収めてプログラムを登録してくれれば、注文に応じてきわめて安い値段でコピーして郵送すると『DDJ』に告知した。
パロアルト版のタイニーベーシックと宇宙ゲームのタイニートレックの値段は、ともに2ドルだった。それ以外にCCCが求めたのは、1オンス(28.35グラム)あたり1ドルの紙テープのコピー料と送料だけだった。石田はCCCに問い合わせを入れ、「日本で公開してかまわない」との確認をとったうえで紙テープを取り寄せた。
大型計算機センターに届いたパロアルト版のタイニーベーシックは、ここで石田の研究室の博士課程2年生だった小野芳彦によって改良の手を加えられた。作者のリチェン・ワンは8080のアセンブラーでタイニーベーシックを書き、紙テープには機械語に変換されたプログラムが収められていた。小野はまず紙テープの機械語のプログラムを手元にあった逆アセンブラーでソースコードに変換し、中身の分析を行った。その上で小野はセンターの大型機に用意されていた8080用のクロスアセンブラーを使い、さまざまな改良を加えてあらたにソースコードを書きなおした。プログラミングに名人芸的な冴えを見せる小野は、石田があきれるほどの短期間で集中した作業を終えた。
石田はこの改良パロアルト版を、大型計算機センターで開いていたマイクロコンピュータ教室で公開した。
東京電機大学の安田寿明は、「改良パロアルト版の紙テープとソースプログラムのリストを、実費で頒布する作業を自宅で引き受けよう」と申し出た。
この改良パロアルト版は、誰がどのような経緯で手直ししたかに関する情報抜きで、1977(昭和52)年8月号の『ASCII』にソースリスト付きで掲載された。CCCに了解を求めた経緯にも、改良にあたった小野にもいっさい言及しないこの記事は、手直しを行ったのが筆者であるかのような印象を与えかねなかった。開発の経緯を明らかにするとともに、筆者に抗議した一文を10月号に寄せた石田は、今後は「オリジナルなソフトウェアを開発する人が増えることを祈ってやまない」と原稿を締めくくった。
結果的に『ASCII』へのソースリストの掲載は、東大版タイニーベーシックとして知られることになるこのバージョンの知名度を大いに高めた。だが東大版の存在にスポットライトが当たると、研究者である石田がおもちゃのようなベーシックを、それも外国からもらってきたものを細工して発表し、悦に入っているのはどういうことだといった非難の声が、一部の研究者から上がった。タイニーベーシックの普及のために割ける範囲で自分たちの時間をあてようとする石田たちの意図を理解し、煩雑な頒布の作業を引き受けた安田は、東大版に対する批判を直接耳にして強い反発を覚えた。パロアルト版をもとにしたという経緯が気に入らないのなら、文句を言う代わりに自分で一から書けばよいではないか。そう切り返すと「そんな暇はない」との答えが返ってきた。
安田自身、それまでの1年あまり、オリジナルのベーシックを書いてみたいという思いを抱き続けていた。だが、最低限数週間にわたって全力投球しない限り書き上げられないだろうと思うと、なかなか決心はつかなかった。東大版に対する批判への反発は、そうした安田のためらいを吹き飛ばした。
卒論の準備のために集まってくる学生たちにタイニーベーシックの新規開発を持ちかけてみると、「研究の合間の茶飲み話代わりにやろうか」となった。8080用には選択肢があったが、スマートな構造が気に入っていた6800には、公開されたタイニーベーシックがなかった。
ホームブルー・コンピュータ・クラブの意欲的なメンバーであるトム・ピットマンが、3Kバイトほどの6800用のすぐれたバージョンを書いていることを、安田は『DDJ』の記事で読んでいた。だがピットマンはあえて、ソースコードを『DDJ』で公開する道を選ばなかった。
» @IT自分戦略研究所 トップページへ |
@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。
現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。
これからも、@IT自分戦略研究所をよろしくお願いいたします。