VisiCalcが変えた、ソフトがハードを売る時代
VisiCalcは表計算ソフトの先駆けであるだけでなく、ソフトがハードを売れることを証明し、コンピュータの経済性を変えました。

VisiCalcの登場以前、パーソナルコンピュータは愛好家のおもちゃでした。VisiCalcの登場後、それはビジネスの道具になりました。誇張ではありません。Apple IIの販売推移がそれを示しています。ニッチな愛好家向けマシンからビジネスに欠かせない機械へと変わったのは、会計士が紙の表計算をやめられるようにした一本のソフトウェアがほぼすべての理由でした。
Dan BricklinとBob Frankstonは、VisiCalcを1979年にリリースしました。1年以内にApple IIの売上は6倍に増えました。人々はコンピュータ店に行き、「VisiCalcが動くマシンをください」と言うようになったのです。ハードウェアを買う価値を生むほど魅力的なソフトウェア、いわゆる「キラーアプリ」という概念はこうして生まれました。このパターンはコンピューティングの歴史の中で何度も繰り返されており、ハードとソフトがなぜ今の関係にあるのかを理解する助けになります。
VisiCalcが実際にやったこと
表計算は振り返ってみれば当たり前に思えますが、1979年当時はそうではありませんでした。紙の表計算、つまり財務計算に使われる方眼の大きな用紙は、どの会計事務所にもある標準的なツールでした。予算の見積もりをする会計士は、行と列に数字を書き込み、合計や数式を手計算や電卓で求めて、該当するセルに結果を書いていたのです。
問題は反復作業でした。たとえば見込み成長率が8%から10%に上がるなど、一つの前提条件が変わるだけで、その前提に依存するすべてのセルを再計算しなければなりませんでした。複雑なモデルでは何時間もの手作業の再計算が必要で、計算し直すたびにミスの危険もありました。「もしも」分析、つまりさまざまな前提が結果にどう影響するかを探る作業は手間がかかりすぎて、徹底的に行われることはほとんどありませんでした。
VisiCalcはこれを完全に自動化しました。一つのセルを変更すると、それに依存するすべてのセルが即座に更新されます。会計士が何時間もかけていた作業が数秒で終わるようになったのです。価値は「紙の代わりにコンピュータを使う」ことではなく、「かつて一つのシナリオを検討するのにかかった時間で50のシナリオを検討できる」ことでした。財務分析にできることが質的に変わったのです。
設計を形作った技術的制約
VisiCalcは、32KBのRAM、1MHzのプロセッサ、40桁のテキスト表示を備えたApple II上で動作していました。これらの制約により、後から見て先見的だったと言える設計上の判断が迫られました。
セルの格子モデル、つまり値や数式を格納する行と列のセルという構造は、限られた表示領域への対応という面もありました。40×24文字の表示は格子をそのまま自然に描けます。自由なドキュメントのキャンバスだと、ハードウェアには扱えないスクロールやレイアウトのアルゴリズムが必要になったでしょう。格子という制約のおかげで、インターフェースは説明なしにすぐ理解できるものになり、データの構造が一目でわかるようになりました。
数式はデフォルトで相対セル参照を使いました。たとえばC1にA1とB1を参照する数式があれば、それをC2にコピーすると、自動的にA2とB2を参照します。これは、ほとんどの表計算の数式が行や列に沿ったパターンに従う、という観察から生まれた設計判断です。モデルを組む手間が劇的に減りました。数式を一度定義して列の下にコピーすれば、それで完了です。
32KBしかないため、VisiCalcは巨大な格子をメモリに保持できませんでした。解決策は、データを含むセルだけを保存することでした。空のセルはメモリを消費しません。この疎な表現は、現代の表計算ソフトでも今なお基本的な仕組みです。Excelの約170億セルという理論上のグリッドも、密に格納すれば数ペタバイトが必要になるでしょう。VisiCalcを疎な格納方式へ向かわせた制約は、メモリの大きさに関係なく、アーキテクチャとして正しい判断だったと判明したのです。
「キラーアプリ」のパターン
VisiCalcは、テクノロジー業界をその後ずっと動かしてきたパターンを確立しました。それは、動かすために必要なハードウェアのコストを正当化するほどの価値を生むソフトウェアです。
- VisiCalc → Apple II。 Apple IIは1,300〜2,700ドル(現在の貨幣価値でおよそ5,000〜10,000ドル)でした。VisiCalcは100ドルです。企業は生産性の向上が数週間で元を取れるため、100ドルのソフトを動かすために2,000ドルのコンピュータを買ったのです。
- Lotus 1-2-3 → IBM PC。 VisiCalcのIBM PCへの移植が遅れたとき、Lotus 1-2-3がその空白を埋め、IBM互換機のキラーアプリになりました。Lotusは、IBM PCのハードウェア向けに特別に設計されており、同等の処理ではVisiCalcより高速でした。
- PageMaker → Macintosh + LaserWriter。 デスクトップパブリッシングがMacintoshのプレミアム価格を正当化しました。MacとLaserWriterの組み合わせは7,000ドル以上しましたが、5万ドルかかる写植機材を置き換えました。
- Webブラウザ → インターネット接続。 Netscape Navigatorが技術者でない一般ユーザーにもインターネットを役立つものにし、ISPの契約やネットワークインフラへの需要を押し上げました。
- ChatGPT → GPUクラスタ。 現在のAIブームは、NVIDIAのハードウェアへの前例のない需要を生んでいます。AIアプリケーションが投資に見合うだけの価値を生むため、各社はGPUインフラに何十億ドルも投じています。
このパターンは驚くほど一貫しています。誰かがハードウェアを好奇心の対象から必需品に変えるソフトウェアを作るのです。ハードウェアメーカーは大きな恩恵を受けます。Appleのビジネスは、実質的にVisiCalcによって築かれたと言ってもよいほどです。一方で、ソフトウェアの作り手が得る価値は少ないことが多いのです。Dan BricklinとBob Frankstonの会社Software Artsは、最終的に自社の発行元による敵対的買収で手放すことになりました。彼らが発明した表計算は、毎年数兆ドル規模の経済価値を生み出していますが、その取り分はごくわずかしか彼らに入りませんでした。
表計算が生き残り続ける理由
VisiCalcはLotus 1-2-3に取って代わられ、そのLotusはExcelに取って代わられ、現在はそのExcelがGoogleスプレッドシートから追い上げられています。しかし、値と数式を持つセルの格子が自動再計算されるというコアのコンセプトは、45年間ほとんど変わっていません。なぜでしょうか。
表計算は、これまでに作られた中でも最も成功したプログラミング環境と言えるかもしれません。非プログラマーが使う数式は、構造的には関数型プログラミングそのものです。純粋関数(数式には副作用がない)、参照透過性(セルの参照は常に現在の値を返す)、リアクティブな更新(入力の変更が自動的に伝播する)がそろっています。Excelのユーザーは、年間で、プロのプログラマー全員を合わせたよりも多くの「コード」を書いているのです。
VisiCalcが正しく捉え、後継のすべてが引き継いできた重要なポイントは、即時のフィードバックです。値を変えれば、結果がすぐにわかります。コンパイルの手順も、デプロイも、待ち時間もありません。この密なフィードバックループが、表計算を探索的なデータ作業、簡単な計算、場当たり的な分析に最適なツールにしています。表計算を「本格的な」ソフトウェア(専用の予算管理ツール、BIプラットフォーム、カスタムアプリケーション)に置き換えようとする試みはすべて、表計算なら3秒で作業を始められるという事実を乗り越えなければなりません。
VisiCalcの再構築
元のソースコードからVisiCalcを再構築するプロジェクトが最近いくつか行われ、極端な制約の下でソフトウェアがどう作られていたかを知る興味深い資料になっています。オリジナルのApple II版は、すべて6502のアセンブリ言語で書かれていました。32KBに収まり、かつ対話的な再計算に十分な速度を出せる実用的な高水準言語は存在しなかったのです。
再構築されたコードを読むと、1MHzのプロセッサ上で反応の良さを感じさせるために、どれほどの工夫が注ぎ込まれていたかがわかります。再計算エンジンは表示中のセルを優先しました。画面に現在表示されているセルが最初に再計算されるため、依存するセルがバックグラウンドで更新される間も、ユーザーはすぐに視覚的なフィードバックを得られます。この知覚面の最適化によって、VisiCalcは実際の速度以上に速く感じられたのです。
セルの格納には、列ごとにソートされ、各列の中では行でソートされた連結リストが使われていました。これにより、列単位の操作(列の合計や列の挿入)が高速になりました。財務の表計算は、時期を列に、項目を行に配置するのが一般的だという前提を反映しています。このデータ構造には、会計士の思考法についての業務知識が組み込まれていたのです。
メモリ管理は完全に手動でした。VisiCalcは独自のヒープを持ち、コンパクションを行っていました。セルを削除すると、残ったセルの格納領域を詰めてメモリを回収したのです。これは実質的に、メモリ保護のないシステム上でアセンブリ言語で書かれた手動のガベージコレクタです。それが信頼して動いたこと自体が、エンジニアリングの質の高さを物語っています。
現代のソフトウェア開発への教訓
VisiCalcの成功には、計算資源が豊富な現代では見落としがちな教訓があります。
- 実在する人々の現実の問題を解決する。 VisiCalcは市場を創り出したわけではありません。何百万もの人がすでに手作業でやっていたワークフローを自動化したのです。最良のソフトウェアは能力を生み出すのではなく、面倒な作業を取り除くものです。会計士はすでに財務モデルの組み方を知っていました。VisiCalcはそれを100倍速くしただけなのです。
- 制約が良い設計を生む。 32KBのメモリ制限が疎な格納方式を強いました。40桁の表示が格子インターフェースを強いました。1MHzのCPUが知覚的な最適化の工夫を強いました。どの制約も、あらゆる規模で正しいと判明する設計判断を生み出したのです。
- フィードバックの速さは機能である。 VisiCalcを魅力的にした即時の再計算は、現代の開発ツールにおけるホットリロード、デザインツールのライブプレビュー、REPL駆動の開発と同じ原理です。変更してから結果が見えるまでの時間は、人々が仕事をどう考えるかに直接影響します。
- 発明者が価値を得ることはめったにない。 BricklinとFrankstonは表計算を発明しましたが、その利益は貢献に見合うほどには得られませんでした。このパターンは繰り返されています。革新的なソフトウェアを生み出した人々は、多くの価値がハードウェアメーカー、プラットフォーム所有者、あるいは流通で勝負した後発者へ流れていくのを目にすることが多いのです。作る前にビジネスモデルを考える価値があります。
VisiCalcから45年が経った今も、私たちはそれが生み出した世界に生きています。表計算は、場当たり的なデータ作業の定番ツールであり続けています。「キラーアプリ」のパターンも今なおハードウェアの販売を牽引しています。VisiCalcをChatGPTに、Apple IIをNVIDIA H100に置き換えるだけです。そして、ソフトウェアはハードウェアよりも多くの価値を生むという原則は、100ドルのプログラムが2,000ドルのコンピュータを、好奇心の対象からビジネスに欠かせない道具へと変えた当時と同じく、今も変わらず真実です。


