僕たちが日々使っている「web」の歴史
こんにちは、おしうみです。
内定先からいただいた技術書を一周読み終わり、二週目読み始めています。読んでいくと疑問点がめっちゃ湧いてくるので、それを全部調べてnoteにまとめることにしました。
MEMEX(メメックス)
時は、第二次世界大戦の末期にさかのぼります。
第二次世界大戦は1939年から1945年まで続いた世界規模の戦争で、同盟を結んだ日本・ドイツ・イタリアVSイギリス・アメリカ・中国等の連合国軍で争っていました。
当時、ナチスドイツが原子爆弾の開発に踏み切ったことをきっかけに、アメリカ・イギリス・カナダは科学者・技術者を総動員して原子爆弾の開発計画を始めました(マンハッタン計画)。
アメリカの原爆開発の指揮を取っていたのが、バーニバー・ブッシュさん。彼は非公式な化学顧問として政府に助言する立場でした。
バーニバー・ブッシュさんは原爆開発に必要な情報を集めるために膨大な数の基礎実験のレポートに目を通していました。しかし、「あの資料はいつか使うかもしれない」「この資料は今すぐ使えそう」「この資料とその資料は関連しているから分別して...」なんてやっていると、めちゃくちゃ大変です。
そこで、「内容が関連している資料を自由に結び付けられる機械が欲しい!」と思うようになりました。
1945年にバーニバー・ブッシュさんは、本や通信記録などを格納できてすぐに参照できるデバイス「MEMEX」の構想を発表しましたが、結局実現はせず、机上の空論になってしまいました。
当時のコンピュータはただの計算機に過ぎなかったので、記録を格納し参照するという先進的なコンセプトに研究者たちは驚かされたそうです。
ザナドゥ計画(Project Xanadu)
MEMEXの構想に影響を受けた人物の一人にテッド・ネルソンさんがいました。彼はアメリカの思想家・社会学者であり、実は2002年に慶應義塾大学で政策・メディアの博士号を取っているそうです。
1960年にテッド・ネルソンさんはMEMEXの構想を参考にして、コンピュータ上でハイパーテキストを実現させるXanadu(ザナドゥ)の開発を始めました。
ハイパーテキストは、テッドネルソンさんが生み出した言葉で、複数の文書を相互に関連づけられる仕組みで、ブッシュさんがMEMEXで実現しようとしていたものです。
残念ながら、Xanaduの開発は頓挫してしまいます。理由は高機能すぎて開発が難しかったからです。開発には54年間かかり、なんと2004年にXanaduがリリースされました。
World Wide Web(WWW)
World Wide Webは、現在みなさんが「ウェブ」と言っているやつです。
ウェブにおけるハイパーテキストは、文書中に別の文書に飛ぶリンクを貼って、ネット上の文書を結び付けています。HTMLというマークアップ言語を用いて文字を記述しています。
実はウェブは、MEMEXやXanaduに比べるだいぶ欠陥品なんです。それを理解するために、比較する表を作成しました。
今のウェブが単方向リンクというのはなんとなくわかります。だって、ウェブサイトに貼られているリンクをクリックするとどこかのページに変遷しますよね。でもそのページには、元ページのリンクが常に貼られているわけではない。ということです。
でも、Xanaduの双方向リンクってどうやって実装するんだ?という方はこちらの動画を参考にしてください。Xanaduは54年間の開発計画を経て2004年にリリースされたので、その動画があります。こんな感じです。(この動画に出てくる人がテッド・ネルソンさんです。)
そして比較②ですが、単方向リンクなら、リンクを貼っているページがなくなったら「このページは存在しません」という404エラーが出ますが、双方向リンクならそんなことにはなりません。
比較③④に関しては、文書のバージョン管理やトランスクルージョンができることがXanaduの強みでしたが、ウェブにそのような技術はありません。(Xanaduの動画を見てもらえればある程度理解できると思います。)
なぜ欠陥品のWWWが普及したか
Xanaduの構想よりもかなり機能が少ないWWWですが、今や世界中で使われています。なぜこんなに普及したのでしょうか。
1番の理由は、シンプルであることだと言われています。
欠陥品とはいえ、必要最低限の機能は付いていました。シンプルで開発自体も難しくなく、使用する人も使いやすかったのでしょう。当時の研究者は、「WWWが普及するわけない」と思っていたそうですが、WWWは当時のニーズに合っていました。
補足:HyperCard(ハイパーカード)
HyperCardはハイパーテキストを実現した最初のソフトウェアで、1987年にアップルコンピュータ(現Apple)のビル・アトキンソンさんが開発しました。
カードの上に文字や絵を書いて、カード上にボタンを設置します。そのボタンをクリックしたら対応づけられたカードに移動したり、スクリプトが実行されたりします。言語はHyperTalkです。ゲームの開発や簡単なスクリプトの開発に使用されていたそうです。
詳しくは下の動画を見ていただけたらめちゃくちゃ理解が深まります。
残念なことに、スティーブ・ジョブズがAppleに復帰した2000年にHyperCardチームは解体されてしまいました。
終わりに
こんな感じで、勉強した学術的な内容をnoteにまとめていきたいと思います。今回のnoteは、本を読んで疑問に思ったことを調べてまとめているので、必ずしも本の内容を踏襲していません。気になる方は、ぜひ本を購入してみてください!
関連する記事
この記事が気に入ったらサポートをしてみませんか?