TED日本語 - ダン・ブリックリン: 表計算ソフト誕生の話

TED日本語

プレゼンテーション動画

TED日本語 - ダン・ブリックリン: 表計算ソフト誕生の話

TED Talks

表計算ソフト誕生の話
Meet the inventor of the electronic spreadsheet
ダン・ブリックリン
Dan Bricklin

内容

ダン・ブリックリンは、あなたが日常的に使っているであろうMicrosoft ExcelやGoogle Sheetsのお祖父さんにあたる世界初の表計算ソフトVisiCalcを共同開発し、世界を永久に変えました。ソフトウェア技術者であり、コンピューター界の伝説である彼が語る、最初にした仕事や夢想や宿題が絡み合って画期的な発明へと繋がった話に耳を傾けましょう。

Script

How many of you have used an electronic spreadsheet, like Microsoft Excel? Very good. Now, how many of you have run a business with a spreadsheet by hand, like my dad did for his small printing business in Philadelphia? A lot less.

Well, that's the way it was done for hundreds of years. In early 1978, I started working on an idea that eventually became VisiCalc. And the next year it shipped running on something new called an Apple II personal computer. You could tell that things had really changed when,six years later, the Wall Street Journal ran an editorial that assumed you knew what VisiCalc was and maybe even were using it.

Steve Jobs back in 1990 said that "spreadsheets propelled the industry forward." "VisiCalc propelled the success of Apple more than any other single event." On a more personal note, Steve said, "If VisiCalc had been written for some other computer, you'd be interviewing somebody else right now."

So, VisiCalc was instrumental in getting personal computers on business desks. How did it come about? What was it? What did I go through to make it be what it was? Well, I first learned to program back in 1966, when I was 15 -- just a couple months after this photo was taken. Few high schoolers had access to computers in those days. But through luck and an awful lot of perseverance, I was able to get computer time around the city.

After sleeping in the mud at Woodstock, I went off to MIT to go to college, where to make money, I worked on the Multics Project. Multics was a trailblazing interactive time-sharing system. Have you heard of the Linux and Unix operating systems? They came from Multics. I worked on the Multics versions of what are known as interpreted computer languages, that are used by people in noncomputer fields to do their calculations while seated at a computer terminal.

After I graduated from MIT, I went to work for Digital Equipment Corporation. At DEC, I worked on software for the new area of computerized typesetting. I helped newspapers replace their reporters' typewriters with computer terminals. I'd write software and then I'd go out in the field to places like the Kansas City Star, where I would train users and get feedback. This was real-world experience that is quite different than what I saw in the lab at MIT.

After that, I was project leader of the software for DEC's first word processor, again a new field. Like with typesetting, the important thing was crafting a user interface that was both natural and efficient for noncomputer people to use. After I was at DEC, I went to work for a small company that made microprocessor-based electronic cash registers for the fast-food industry. But I had always wanted to start a company with my friend Bob Frankston that I met on the Multics project at MIT.

So I decided to go back to school to learn as much as I could about business. And in the fall of 1977, I entered the MBA program at Harvard Business School. I was one of the few percentage of students who had a background in computer programming. There's a picture of me from the yearbook sitting in the front row.

(Laughter)

Now, at Harvard, we learned by the case method. We'd do about three cases a day. Cases consist of up to a few dozen pages describing particular business situations. They often have exhibits, and exhibits often have words and numbers laid out in ways that make sense for the particular situation. They're usually all somewhat different. Here's my homework. Again, numbers, words, laid out in ways that made sense. Lots of calculations -- we got really close to our calculators. In fact, here's my calculator. For Halloween, I went dressed up as a calculator.

(Laughter)

At the beginning of each class, the professor would call on somebody to present the case. What they would do is they would explain what was going on and then dictate information that the professor would transcribe onto the many motorized blackboards in the front of the class, and then we'd have a discussion. One of the really frustrating things is when you've done all your homework, you come in the next day only to find out that you made an error and all of the other numbers you did were wrong. And you couldn't participate as well. And we were marked by class participation.

So, sitting there with 87 other people in the class, I got to daydream a lot. Most programmers in those days worked on mainframes, building things like inventory systems, payroll systems and bill-paying systems. But I had worked on interactive word processing and on-demand personal computation. Instead of thinking about paper printouts and punch cards, I imagined a magic blackboard that if you erased one number and wrote a new thing in, all of the other numbers would automatically change, like word processing with numbers. I imagined that my calculator had mouse hardware on the bottom of it and a head-up display, like in a fighter plane. And I could type some numbers in, and circle it, and press the sum button. And right in the middle of a negotiation I'd be able to get the answer. Now I just had to take my fantasy and turn it into reality.

My father taught me about prototyping. He showed me mock-ups that he'd make to figure out the placement on the page for the things for brochures that he was printing. And he'd use it to get feedback from customers and OKs before he sent the job off to the presses. The act of making a simple, working version of what you're trying to build forces you to uncover key problems. And it lets you find solutions to those problems much less expensively.

So I decided to build a prototype. I went to a video terminal connected to Harvard's time-sharing system and got to work. One of the first problems that I ran into was: How do you represent values in formulas? Let me show you what I mean. I thought that you would point somewhere, type in some words, then type in some somewhere else, put in some numbers and some more numbers, point where you want the answer. And then point to the first, press minus, point to the second, and get the result. The problem was: What should I put in the formula? It had to be something the computer knew what to put in. And if you looked at the formula, you needed to know where on the screen it referred to. The first thing I thought was the programmer way of doing it. The first time you pointed to somewhere, the computer would ask you to type in a unique name. It became pretty clear pretty fast that that was going to be too tedious. The computer had to automatically make up the name and put it inside. So I thought, why not make it be the order in which you create them? I tried that. Value 1, value 2. Pretty quickly I saw that if you had more than a few values you'd never remember on the screen where things were.

Then I said, why not instead of allowing you to put values anywhere, I'll restrict you to a grid? Then when you pointed to a cell, the computer could put the row and column in as a name. And, if I did it like a map and put ABC across the top and numbers along the side, if you saw B7 in a formula, you'd know exactly where it was on the screen. And if you had to type the formula in yourself, you'd know what to do. Restricting you to a grid helped solve my problem. It also opened up new capabilities, like the ability to have ranges of cells. But it wasn't too restrictive -- you could still put any value, any formula, in any cell. And that's the way we do it to this day, almost 40 years later.

My friend Bob and I decided that we were going to build this product together. I did more work figuring out exactly how the program was supposed to behave. I wrote a reference card to act as documentation. It also helped me ensure that the user interface I was defining could be explained concisely and clearly to regular people. Bob worked in the attic of the apartment he rented in Arlington, Massachusetts. This is the inside of the attic. Bob bought time on the MIT Multics System to write computer code on a terminal like this. And then he would download test versions to a borrowed Apple II over a phone line using an acoustic coupler, and then we would test.

For one of these tests I prepared for this case about the Pepsi Challenge. Print wasn't working yet, so I had to copy everything down. Save wasn't working, so every time it crashed, I had to type in all of the formulas again, over and over again. The next day in class, I raised my hand; I got called on, and I presented the case. I did five-year projections. I did all sorts of different scenarios. I aced the case. VisiCalc was already useful.

The professor said, "How did you do it?" Well, I didn't want to tell him about our secret program.

(Laughter)

So I said, "I took this and added this and multiplied by this and subtracted that."

He said, "Well, why didn't you use a ratio?"

I said, "Hah! A ratio -- that wouldn't have been as exact!" What I didn't say was, "Divide isn't working yet."

(Laughter)

Eventually, though, we did finish enough of VisiCalc to be able to show it to the public. My dad printed up a sample reference card that we could use as marketing material.

In June of 1979, our publisher announced VisiCalc to the world, in a small booth at the giant National Computer Conference in New York City. The New York Times had a humorous article about the conference. "The machines perform what seem religious rites ... Even as the believers gather, the painters in the Coliseum sign room are adding to the pantheon, carefully lettering 'VISICALC' in giant black on yellow. All hail VISICALC!" (Gasp) New York Times: "All hail VISICALC."

(Laughter)

That was the last mention of the electronic spreadsheet in the popular business press for about two years. Most people didn't get it yet. But some did.

In October of 1979, we shipped VisiCalc. It came in packaging that looked like this. And it looked like this running on the Apple II. And the rest, as they say, is history.

Now, there's an awful lot more to this story, but that'll have to wait for another day. One thing, though, Harvard remembers. Here's that classroom. They put up a plaque to commemorate what happened there.

(Applause)

But it also serves as a reminder that you, too, should take your unique backgrounds, skills and needs and build prototypes to discover and work out the key problems, and through that, change the world.

Thank you.

(Applause)

Excelのような表計算ソフトを 使ったことのある人は どれくらいいますか? 大勢ですね では フィラデルフィアで小さな印刷業を 営んでいた私の父のように 会社の簿記を 手計算でやっているという人は? ずっと少ない

それは何百年もの間 ずっと行われていた方法です 1978年の初めに 私は やがてVisiCalcとなるものの アイデアに取り組み始めました 翌年それは 新製品だった Apple II パーソナル・コンピューター用に 売り出されました その後の6年の間に大きな変化があったことは 誰もが VisiCalcを知っており たぶん使ってもいると ウォールストリート・ジャーナル紙が 社説で想定していたことを見ても分かるでしょう

スティーブ・ジョブズは 1990年のインタビューで言っています 「表計算ソフトが PC業界を牽引した」 「VisiCalcは他の何よりも Appleの成功に貢献した」 彼はより個人的なコメントとしてこうも言っています 「もしVisiCalcが 他のコンピューター向けに書かれていたなら あなたが今インタビューしている相手は 違っていたはずだ」

VisiCalcは会社でパソコンが 使われるようになる きっかけになったのです それはどうやって生まれたのか? それは何だったのか? どのようにして私はそれを作ることになったのか? 私がプログラミングを学び始めたのは 1966年 15歳の時で この写真を撮った 2ヶ月後のことです 当時はコンピューターに触れられる高校生なんて そういませんでしたが 私は幸運と ものすごい根気強さのお陰で 地元のコンピューターの利用時間を 手にできました

ウッドストックのぬかるみで寝た後 MITに進学し バイトでMulticsプロジェクトの 仕事をしました Multicsは対話的タイムシェアリング システムの草分けでした LinuxとかUnixというのを 聞いたことがあるかもしれませんが あれはMulticsから生まれたものです 私はMulticsのための インタプリタ言語に 取り組みました 端末の前に 座って計算を行う コンピューターが専門でない 人たちが使うものです

MITを卒業すると DECに就職しました DECでは 電子化組版という 新しい分野の ソフトウェアを開発し 新聞社が記者の使うタイプライターを コンピューターに置き換える 手助けをしました ソフトウェアができたら カンザスシティ・スター紙のような 現場に赴いて ユーザーのトレーニングをし フィードバックを集めました この時の実体験は MITの研究室で見てきたのとは 随分違っていました

その後 私はDEC初の ワープロソフト開発で プロジェクトリーダーになりました また新分野です 組版の時と同様 重要だったのは コンピューターに詳しくない人たちが 自然に効率良く使えるユーザーインタフェースを 作ることでした DECの後 マイクロプロセッサを使った ファストフード業界向けの 電子キャッシュレジスターを作る 小さな会社で働きました でも私は Multicsプロジェクトで 出会った友人のボブ・フランクストンと 一緒に会社を始めたいと ずっと思っていたので

大学に戻り ビジネスについて 学べるだけ学ぶことにし 1977年秋に ハーバード・ビジネス・スクールの MBAコースに入りました そこの学生で 私のように プログラミングの経験がある者は ごくわずかでした 卒業アルバムには 最前列に座っている私の写真があります

(笑)

ハーバードでは ケーススタディを使って学びました 毎回3つくらいの事例を検討します それぞれの事例は特定のビジネス状況に関する 何十ページかの記述からなっています それにはよく別紙が付いていて その想定状況に関する 資料やデータがありました それぞれが何かしら 違っていました これは私のやった宿題です 筋が通るように構成された 数字や記述が並んでいます 沢山の計算が必要で 私たちはいつも電卓を手元に置いていました これが私の使っていた電卓です ハロウィーンの時も 電卓を身に付けたものです

(笑)

授業のはじめに 先生が誰かに 事例の説明をさせます 学生は状況を説明して データを読み上げ 先生がそれを教室の前にある 何枚もの電動式黒板に書き取ります それからみんなで議論します すごく苛立たしかったのは 宿題をすっかり済ませ 翌日授業に出ると 計算間違いがあって 自分の出した数字が 全然駄目だと気付いたときです そうなると授業であまり発言できなくなりますが 評価は授業への貢献度で なされるのです

他の87人の学生達とその教室にいて 私はよく夢想していました 当時のプログラマーの多くは メインフレームで 在庫システムや 給与システムや 請求支払いシステムなんかを開発していましたが 私には対話的ワープロソフトや オンデマンドの 個人向けソフトの開発経験がありました そのためプリンタ出力や パンチカードというインタフェースではなく 「魔法の黒板」を夢想していました 数字を消して 新しい値を書くと 他の数字が自動的に 再計算されるという 数字のためのワープロみたいなものです 私がイメージしていたのは 底がマウスのようになっている電卓と 戦闘機みたいなヘッド・アップ・ディスプレーがあって 数字をタイプし まるで囲んで 合計ボタンを押すと 交渉しているその場で 答えが得られるというものです その夢をどうにか 現実にしたいと思いました

父は私にプロトタイピングというのを 教えてくれました 冊子を印刷するとき ページ上の配置を決めるために使う 実寸大のひな形を 見せてもらったことがあります 顧客からフィードバックを 得るのにそれを使い OKが出たら 印刷にかけるんです 作ろうとしているものを単純化した 実際に動くものを作ることで 主要な問題点が 浮かび上がり そのような問題への解決策を ずっと少ない費用で見つけられます

それでプロトタイプを 作ってみることにしました ハーバード大のタイムシェアリングシステムに 接続された端末に行って 取り組み始めました 私がまず直面した 問題の1つは 式の中の変数を どう表現するかということでした どういうことか説明しましょう 考えていたのはこうです どこか指定して言葉を書き 別のところに数字を入れ さらに別の数字を入れます 答えを出す場所を指定してから 最初の数字を指し マイナスを押し 2番目の数字を指すと 結果が現れます 問題は 式をどう表すか ということです 何が入るのかコンピューターに 分かるものにする必要があります そして画面のどこが参照されているのか 式を見れば分かるようにする 必要があります はじめの案は プログラマー的なやり方で 最初にどこかを指定したとき 識別名をユーザーに付けさせる というものです これは面倒くさすぎるということが すぐに分かりました コンピューターが自動的に名前を付けて 保持しておくようにする必要があります では作られた順番で 名前を付けたらと考えました 変数1 変数2 という具合に しかし変数が何個もあると どこにどれがあるのか 覚えられなくなってしまいます

それなら 変数をどこにでも 置けるようにする代わりに 碁盤目上に制限したらどうかと考えました マス目を指定したとき その行と列を 名前にすることができます 地図みたいに 上にABC 横に123と書いておけば 式の中に B7 とあったとき 画面上のどこを指すのか 一目瞭然です 式を自分で書く場合も どうすればいいか すぐわかります ユーザーを碁盤目上に制限することで 私の問題は解決しました 同時に 一続きのマス目を指定できるといった 新しい可能性も開けました それでいて この制限はきついものではなく ユーザーは好きな値や式を どのマス目にでも入れることができます そしてこれは40年後の今も そのまま使われている方法です

友人のボブと私はこの製品を 一緒に作ることにしました そのプログラムがどう振る舞うべきか 見極めるため 私はさらに取り組みました ドキュメントとなるものとして 説明シートを書きましたが それはまた 作っている ユーザーインタフェースが 普通の人に対し簡潔明瞭に 説明できるものにする上でも役立ちました ボブはマサチューセッツ州アーリントンに借りた アパートの屋根裏で作業していました これがその屋根裏部屋です ボブがMITのMulticsシステムの 利用時間を購入して このような端末を使って プログラムを書きました それから電話回線と 音響カプラを使い 借用したApple II に テスト版をダウンロードして テストを行います

テストの一環として 「ペプシチャレンジ」の宿題を使いました 印刷機能は まだできてなかったので 全部手で書き写す必要がありました 保存機能は まだできてなかったので プログラムが クラッシュするたびに 式をすべて入力し直さなければなりませんでした 翌る日 授業で私は手を挙げて 指されると事例の解説をしました 5年の予測をし あらゆる種類のシナリオを考察しました この事例でAの評価をもらいました VisiCalc はすでに役立っていたのです

先生に「いったいどうやったの?」 と聞かれましたが 我々の極秘プログラムのことを 明かしたくはなかったので ―

(笑)

「これに これを加えて これを掛けて これを引きました」と言うと

「比を使わなかったのはどうして?」と聞くので

「比なんか正確じゃありませんよ!」と答えましたが 実際は割り算がまだ できるようになってなかったんです

(笑)

そうこうするうちに VisiCalcは お披露目できるまで 出来上がりました マーケティングに使える 説明シートのサンプルを 父が刷ってくれました

1979年6月に発売元が VisiCalcの告知をしました ニューヨークで行われた 巨大なナショナル・コンピューター・カンファレンスの 小さなブースでのことです ニューヨークタイムズ紙が このカンファレンスについて ユーモラスな記事を書いています 「機械が宗教儀式に 見えることを行う ― 信者たちが集まる中 コロシアムの画家たちが 殿堂に付け加える 黄色地に黒で大きく書かれた 『VISICALC』の文字を VISICALCを賛美せよ!」 (おおっ)ニューヨークタイムズ曰く 「VISICALCを賛美せよ」

(笑)

その後2年くらいは 大手のビジネス誌が 電子表計算ソフトに言及することは ありませんでした ほとんどの人はまだ 理解していなかったのです 理解した人もいましたが

1979年10月に VisiCalcが発売されました こんなパッケージに入っていて Apple II の上で こんな感じに動作しました その後のことは 皆の知る通りです

まだまだ話し足りない ことがありますが それはまたの機会にしましょう ただ1つだけ ハーバードが記憶してくれていることについて これが例の教室です そこで起きたことを記念する プレートが飾られています

(拍手)

同時にこれが伝えているのは 皆さんもまた 自分独自の事情や 能力や要求を生かし プロトタイプを作って 重要な問題を見つけて取り組み それを通して世界を変えるように ということです

ありがとうございました

(拍手)

― もっと見る ―
― 折りたたむ ―

品詞分類

  • 主語
  • 動詞
  • 助動詞
  • 準動詞
  • 関係詞等

関連動画