2016年07月16日の日記です


ダン・ブルックリン 誕生日(1951)  2016-07-16 18:46:01  コンピュータ 今日は何の日

今日は、ダン・ブルックリンの誕生日(1951)。

表計算ソフト、Visicalc の考案者です。


後でもう一度書きますが、僕は VisiCalc はパソコンソフト最大の発明品だと思っています。

こんなに応用の利く仕組みは、汎用機時代にもなかったし、その後も現れていない。



ただ、それ以前にも表計算は存在したそうです。


まず、「表計算」という概念自体が、経済学の世界にありました。

紙の上に数値を書いていき、計算結果をもとにまた別の計算をし…というようなものですが。


自分で確定申告とかしたことがある人なら、単純な「事実」の数字をいくつも書き込んだうえで、「(1)と(2)のうち大きい方」とか「(3) に1.2を乗じたもの」とか、紙に書かれた指示の通りに単純な計算を繰り返したことがあるでしょう。

あれが、まさに表計算です。


その表を埋めて財務書類を生成する、という意味での「表計算ソフト」なら、汎用機にもあったという話も目にしました。

ただ、それは VisiCalc のような汎用性があるものではない。




1978年の春、ダン・ブルックリンは、ハーバード・ビジネススクールで、教授が黒板に書いていた計算式の一つで計算を間違えたことに気付き、以降のすべての計算をやり直すところを目撃しました。

その時に、こんな単純な計算はコンピューターに任せられればいいのに、と考えたのだそうです。



ダンは、学校にあったタイムシェアリングシステムで、考えをプログラムしてみます。

表の「マス目」に対して、他のマスとの関係性を示す数式を設定しておきます。


そして、いくつかのマスに数値を入れると、即座にその数値で計算が行われ、マス目が書き換わるのです。




しかし、タイムシェアリングシステムは、使用する時間に対して課金されました。


表を書き換えながら計算する…なんてソフトは、わかりやすいけど操作に時間がかかります。

タイムシェアリング向けではありません。


ダンは、このプログラムを誰でも使えるように、当時発売されたばかりの Apple II で作ろうと考えました。

しかし、問題が一つ…


ダンの考えていた表計算プログラムでは、表のどこでもすぐに書き換えられるように、縦横に自由に動くカーソルが必要でした。

ダンは Alto の存在を知っていて、同じようにマウスを備えたシステムを夢想していました。

しかし、Apple II にはマウスはありません。


代わりに、ブロック崩しを遊べる「ボリュームコントローラー」が付いていましたが、これだと左右、または上下の動きしか表現できません。


何とかキーボードで操作しようとしても、Apple II のキーボードには、左右の矢印キーしかありません。

これでは上下に動けません。


結局、矢印を押すと左右に、スペースを押しながら矢印を押すと上下にカーソルが動く、という操作にしたのだそうです。




ダンの友人のボブ・フランクストンがプログラムを担当し、プログラムが形になります。

最初は「Calculedger」(カルキュレジャー)という名前だったそうです。


このソフトを販売しようと、彼らは Apple 社に持ち込みます。

しかし、Apple では、Apple II の売れ筋ソフトを、ホビー向けの、ゲームとプログラム言語だと考えていました。

「ビジネス向けに使える」なんていう、数字を計算するだけのソフトには興味がありません。


マイクロソフトにも持ち込んだそうです。

しかし、こちらでも同じような反応。


当時はパソコンはホビー向けで、ビジネスに使おうなんて人は誰もいなかったのです。



ダンが教授たちにプログラムを見せてみると、多くの人は感心してくれました。

しかし、それ以上の興味は示しません。


教授たちは、必要があれば計算を学生に任せていました。

だから、「学生がやってくれる」が、「コンピューターがやってくれる」に変わったとしても、それほど大きな変化はなかったのです。



教授の一人は、企業では財務処理に汎用機が使えるのだから、パソコンでビジネス向けの計算を扱うものなどいない、とアドバイスをくれます。


しかし、その教授が、1年上の学生を紹介してくれます。

すでに卒業し、パソコン向けソフト販売の「パーソナルソフトウェア」社を興していた。ダン・フィルストラでした。


(名前が同じなので、以下は彼のことは「フィルストラ」と呼びます)




フィルストラはダンと契約し、Calculedger の販売に力を貸すことにします。

まずは、名前をわかりやすく変更します。


表計算は、計算過程を見えるようにするものです。

Visible Caliclator (見える計算機)。


だから、これを縮めて「VisiCalc」というのが、フィルストラの考案した名前でした。

ダンの考案した開発時の名前…Calculedger は不採用で、販売時には VisiCalc という名前が使われます。



フィルストラは VisiCalc をコンピューターフェアで発表しますが、やっぱり当初は売れません。

発売月の販売本数は、500本程度だったそうです。


しかし、手ごろに買える値段のパソコンで、ビジネスに必要なややこしい計算が可能だという噂が広まり、人気は急上昇します。

1年半後には、1か月の販売本数は1万2千本に達していました。




パーソナルソフトウェアは、VisiCalc の会社、ということで「VisiCorp」と社名変更します。

そして、VisiCalc と一緒に使うと便利な、連動ソフトを開発し、販売していきます。


計算結果をもとにグラフ化したり、現在の売り上げデータをもとに今後の推移を予測したり…と言ったソフト。

このときに依頼されて作成したのがミッチ・ケイパーで、彼に莫大な資産をもたらしました。


その後、ミッチ・ケイパーは Lotus 1-2-3 を作ります。

表計算ソフトの世代交代でした。 VisiCalc の売り上げは落ち、Lotus 1-2-3 は大人気となります。



売り上げが落ちた VisiCorp はソフトの改良を怠ったせいだとダンを訴えます。

ダンは VisiCorp から VisiCalc の版権を引き上げようとフィルストラを訴え、フィルストラはさらに、VisiCalc の名称は自分が考えたもので、勝手な販売はさせないと返し…


泥沼になっていた二人の仲を取り持ち、和解させたのはミッチ。

Lotus 1-2-3 で参入してライバルにはなっていたのですが、そもそも VisiCalc の周辺ソフトで儲けた恩を忘れていませんでした。


ここら辺の話は、ミッチ・ケイパーの誕生日に書きましたので、そちらも参照してください。




さて、最初に書いたけど、VisiCalc が最大の発明だという話。


VisiCalc は、おそらく最初の「考えるための道具」としてのソフトウェアでした。


汎用機では、計算時間は課金対象でした。

データを流し込み、計算させて、結果を得る。計算を操作しながら試行錯誤する、というような考え方はありません。


ミニコンピューターはもう少し計算機の使い方を自由にしましたが、基本的には同じでした。

コンピューターを使うときに、ゆっくり考えていると、どんどん課金されてしまう。

だから、あらかじめ考えておいた操作を一気に行い、結果を得る。それが普通の使い方です。


でも、VisiCalc は Apple II という「パソコン」の上で作られました。


パソコンには、ゲームが多数ありました。

まさに、コンピューターを「操作しながら考える」ことを楽しむソフトです。


VisiCalc は、ゲームとは違ってビジネスに使える実用ソフトでした。

しかし、ゲームのように時間を無駄遣いすることが許されました。


その結果、とにかく集められたデータをもとに、試行錯誤しながら考える、という使い方が可能となったのです。




以下は僕の経験話。


ゲームを作っている時に、企画屋から鉛筆で書いたラフな曲線を描いただけのグラフを見せられながら、「こんな感じに難しくなっていくゲームにしたいのだけど、どういう式にすればいいかな」と相談を受けたことがあります。


僕は、彼に表計算ソフト(VisiCalc ではありませんでしたが)の使い方を教えて、大まかな計算式の必要パラメーターを自由にいじれるようにして、結果が即座にグラフに反映されるようにしました。


あとは、このパラメーターを思う存分いじって、理想のグラフができたところが「目的の式」です。


これを教えてから、その企画屋は表計算をゲーム作成のツールとして便利に使い始めました。



これ、ゲームに限らず、どんな業界でも応用可能。

将来こうしたい、という目標があれば、その目標に向かって何を揃えていけばいいのか試してみることができる。


状況をシミュレーションするための数式が考案できること、というのが条件ですけど、ある程度大雑把な数式であったとしても、何も指標がないよりもずっといい。




あらかじめ決められた計算をする、という使い方ではなくて、どんな計算がいいのかを試行錯誤して考える。

「計算機」のパワーは十分に生かしつつ、その真の目的は「計算」ではなく、考えることにあります。


もちろん、ただの高機能計算機として使うこともできる。

VisiCalc の登場で、計算機は「計算する機械」から、「考えるための道具」に変わったのです。


VisiCalc が売れ始めたのは、ビジネスユーザーがこのことに気付いたからです。



パソコンには多くのソフトがありますが、「考えるための道具」として使用できるソフトは、そう多くはありません。


エディタやワープロは考える道具なのですが、元はタイプライターの模倣から始まっています。

PhotoShop や Illustrator も考える道具ですが、紙の模倣から始まっています。


しかし、「表計算」は、コンピューターを計算機として使う延長上にありながら、考える道具となった最初のソフトなのです。


パソコンがないと生み出すことができなかった、パソコンらしい考える道具。

今でも、表計算ソフト以外に、このようなソフトは無いように思います。



#ただし、いわゆるプログラム言語は除外して考えています。

 後で書きますが、表計算も「プログラム」ではあるので、ちょっとずるい基準です。




途中で書いた通り、ジョブズもゲイツも、このソフトが持ち込まれたときに興味を持ちませんでした。

いや、作者のダン・ブルックリンすらも、このソフトを「経済学のわかる人向けのビジネスソフト」として準備していたのです。


その応用性の高さに気付いたのは、VisiCalc を購入したビジネスユーザーでした。

評判は広まり、VisiCalc が使いたいから Apple II を購入する、というユーザーが急増します。

まさに、パソコン業界最初の「キラーソフト」と言っていいでしょう。



Lotus 1-2-3 が出たときは、このソフト欲しさに IBM-PC を購入する人が急増しました。


Mac 用として開発された、最初の Excel が発売されたときは…「Mac の画面は狭すぎる」と不満が出たようです。

ソフトは魅力的でしたが、ハードウェアが追いついてなかったのですね。


しかし、Excel は Mac のキラーソフトとして初期の Mac を牽引しましたし、Windows が順調になってからは Windows のキラーソフトとなりました。




表計算は、プログラム環境の一つです。

セル間のつながり、という形で処理を書き込んでいき、条件判断なども交えたアルゴリズムを表現し、最終的に結果を出すのですから。


プログラム覚えたいけど、難しくて挫折、という話はよく聞きます。

いわゆるプログラム言語は、最も簡単だと言われるような初心者向けのものでも、それなりに難しい。


でも、表計算ならそれほど難しくありません。

「計算」しかできないために、目的が明確でわかりやすいのです。

それでいて、「計算」というのは数字の操作にとどまらず、非常に多くのことができます。


表計算の機能だけで自由なプログラムが作れるか、と言えば、作れません。

しかしそれは「プログラム言語ではない」という意味ではありません。

計算目的に限って言えば、非常に簡単に目的を達成できる良いプログラム環境です。



会社員時代、勤怠表を書くのに使っていたな。

何年何月、と入れておくと、曜日計算してカレンダーを生成してくれるの。


そして、そこに出勤時刻と退勤時刻を書いていくと、1か月に何時間働いて何時間残業、って出してくれる。

おそらく、こういう使い方をすることは、ダン・ブルックリンは想定していなかった。

でも、実際できてしまう。まぁ、進化の中で関数が増えたおかげでもあるのだけど。




表計算はデータベースにもなります。

何万件もデータがあるような大規模データベースには使えませんが、数千件レベルであれば、十分実用的に使えます。


データベースとして使う場合は「計算」は行いませんから、表計算と呼ぶのはおかしいかもしれませんが、言葉の意味を超えて使えてしまうほどの汎用性があるというのはすごいことです。



Google Forms って仕組みがあって、WEB アンケートを簡単に作れるのね。

このアンケート結果は、Google Spreadsheet っていう表計算のファイルとして蓄積されます。


アンケート結果だからデータベースに入れるべきなのだけど、データベースとして表計算を使っているのね。

そして、このデータを自由に「計算」して、アンケートの結果を集計してグラフ書いたりできます。



その Google Spreadsheet なのだけど、WEB ブラウザで表計算ソフトが動くようになっていて、誰とでも共有できる。

仕事で便利に使っています。


アプリを作る際に各国語版を作りたくて、「日本語」のメッセージ一覧を表計算にほおりこんだ。

そして、英語の翻訳は他の人に任せた。


実際のデバッグ時に「ちょっとニュアンス違うな」なんて思ったら、誰でも修正できる。


これ、日本語・英語と、システム内で使っている「文章の意味を示したタグ」が並んでいます。

そして、このタグは、アプリ内の文章を表示したい部分に同じものが埋め込んである。


実際に動作するときは、タグの部分に日本語・英語の文章が表示されるのです。


そのため、アプリに文章をまとめた「言語ファイル」を組み込まないといけない。

ここが Google Spreadsheet を使う最大のメリットで、アプリビルド時に、最新データを取得して言語ファイルを作るのを自動化できる。


Excel だったら、最新ファイルを扱いやすい CSV で吐き出して処理して…とか必要なのですが、Google Spreadsheet は WEB アプリなので、特定の URL にアクセスして CSV をダウンロードできるのですね。

あとは、テキストファイルなので perl なり ruby なりで処理して必要なファイルにしてしまえばいい。


そんなわけで、表計算はプログラムに必要なデータ整理ツールとしても欠かせません。




Excel を使ってドット絵を描く人や、Excel をワープロとして使うような人もいますね。

これ、よく「やめてくれ」って批判をきくのですが、僕としては構わないと思っています。


間違った使い方だという人もいるし、それは事実かもしれない。

でも、想定を超えた使い方ができて、それなりに使えてしまうというのは、それだけ汎用性が高い環境であることを意味しています。


そして、汎用性が高いから、ゲーム作成の際に事前シミュレーションをしたり、各国語ファイルを生成するデータ整理ツールにしたり、アンケートフォームの自動集計用にしたりできるのです。



もし「変な使い方しないでまともに使う」人ばかりだったら、こんなに応用が利くソフトに育たなかったと思うよ。


今後の表計算ソフトには、もっとお絵かきしやすい仕組みや、ワープロとして使いやすい仕組みが備わっていくかもしれない。

だって、そうやって使う人がいるのだから。そして、それらの機能が充実することで、さらなる応用が可能になる。



どんどん無駄なことやればいいんです。


元々「計算機資源の無駄遣い」が可能だと気づいたところから VisiCalc が始まっているのだから。




同じテーマの日記(最近の一覧)

コンピュータ

今日は何の日

関連ページ

ミッチ・ケイパーの誕生日(1950)【日記 13/11/01】

Microsoft Office 発売日 (1989)【日記 16/08/01】

別年同日の日記

02年 デジタル放送

15年 原爆実験の日(1945)

15年 バーチャファイター・リミックス


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

0000

-- follow --




- Reverse Link -