インターネットでキーワードを検索すれば様々な情報が手に入るこの時代。
そもそもインターネットやWebと呼ばれるものはどのような背景で生まれたのかご存知ですか?

コンピュータの誕生やハイパーメディア、分散システムといった様々な観点からその歴史をたどっていきましょう。
Webが誕生する1990年頃に向かってそれぞれの技術がどのように進歩していったのかに注目すると流れがぐっとつかみやすくなります!

コンピュータの歴史

コンピュータとは

普段、何気なく使っている「コンピュータ」という言葉ですが、具体的にどのようなものを指すのでしょうか?

一般的にコンピュータとは、与えられたルール(プログラム)に従って計算を自動的に行う機械のことです。
ここでは特に電子部品によって構成された自動計算機をコンピュータと呼び、その歴史を見ていきたいと思います。

最初期の機械計算機

最初期の自動計算機として有名なのは1623年にヴィルヘルム・シッカートが発明した機械計算機です。
この頃はまだかなり機能も少なく、6桁の加減算程度しか行えませんでした。

1642年にブレーズ・パスカルが製作した歯車式計算機、パスカリーヌも加減算のみを扱うことができました。
こちらもまだ電子部品などは用いず、歯車などの機械部品のみで構成されています。

その後1694年に、ゴットフリート・ライプニッツによって四則演算可能な計算機が作られました。
これはのちに商用化された初めてのコンピュータです。

こういった時代からすでに計算を自動化しようという試みがあったのは驚きですね。

戦争を背景に成長したコンピュータ

1936年、アラン・チューリングによってチューリングマシンというコンピュータのモデルが考案されました。
これは計算可能性を議論するための数学モデルでしたが、コンピュータサイエンスの発展に大きく貢献することとなりました。

チューリングは第二次世界大戦(1940-1945)でドイツ軍が用いていた暗号機エニグマの暗号の解読に貢献した人物として有名です。
第二次世界大戦中にいかに計算の早いコンピュータを作れるかは、戦争の勝敗を左右する重要な要素となりました。
皮肉なことに、科学技術は戦争とともに発展してきた歴史が多いですよね。

Apple創業者のスティーブ・ジョブズがチューリングを崇拝していたという逸話もあります。
さらにチューリングは、人工知能の能力を評価する指標となるチューリングテストを考案したことでも知られており、機械学習の分野でも名前を耳にするほど数々の功績を残しています。

1946年、ついに初めてのコンピュータが登場しました。
モークリーエッカードによってつくられた、ENIAC(Electronic Numerical Integrator and Computer)です。
ENIACもアメリカ陸軍の大砲の弾道計算用に作られ、電子部品を用いてそれまでの機械式の計算機とは比べ物にならないほど高い性能を有していました。

しかしENIACは10進数での計算を行っており、複雑なプログラムに対応できないなどの弱点がありました。

1949年、ケンブリッジ大学のウィルクスによってEDSAC(Electronic Delay Storage Automatic Calculator)が作られました。
EDSACは世界初のノイマン型コンピュータです。
ノイマン型コンピュータはコンピュータの構成の一種で、現在のPCの多くはこれです。
ちなみに、このコンピュータの仕組みを考えたジョン・フォン・ノイマンはハンガリー出身の数学者で、歴代最高のIQの持ち主であったことで知られています。

1951年に作られたUNIVAC(Universal Automatic Computer)の登場以降は、半導体を用いたコンピュータのダウンサイジング化が進んでいきます。

インターネットの歴史

インターネットのルーツは、1969年に誕生したARPANET(Advanced Research Projects Agency NETwork)です。
これは、アメリカ高等研究計画局(通称:ARPA)が開発した軍事目的のネットワークです。
ARPANETは北米大陸の東西のコンピュータを接続し、当時としては高速な通信を実現していました。

1970年代ごろからTCPやIPの研究が始まり、軍事目的であった通信技術が学術研究向けに進化していきました。
さらにこの頃には、同時にUNIX(OSの一種)の開発も進められていきました。

1983年にはARPAから発展したDARPA(アメリカ国防総省高等研究企画局)で初めてTCP/IP(Transmission Control Protocol/Internet Protocol)が導入されました。
これは現在まで通信で使われているプロトコル群の規格になります。

1986年にARPANETは全米科学財団によってNSFNETとして引き継がれました。

そして、1988年ごろからインターネットの商用利用や個人利用が可能になり、急激に利用者が増加しました。

一方日本では、1984年JUNET(Japan University NETwork)という慶應義塾大学、東京工業大学、東京大学の3校を接続したネットワークが生まれました。

1988年になると民間企業が参加した、WIDEプロジェクトが開始されました。
WIDEプロジェクトは現代の日本のインターネット普及に大きな影響を及ぼすことになりました。

未経験からWebエンジニアを目指したいなら、まずは無料相談に申し込んでみましょう。
誰もが毎日のように利用しているWebの世界で活躍できるエンジニアを目指し、今すぐプログラミングを学びましょう。
自分にあったコースのプログラミングスクール【ZeroPlus】

ハイパーメディアの歴史

ハイパーメディアとは、コンテンツ内のリンクによって複数のメディアを相互に表示できるシステムのことです。
これにより、独立したメディアとしてではなく、関連する情報同士を接続した総合的なメディアを形成することができるようになります。

ハイパーメディアという考え方は、1945年に生まれました。
ヴァネヴァー・ブッシュによって提唱されたMemexという概念です。
当然まだコンピュータ自体が一般に広がっていませんでしたが、そんなときからハイパーメディアを構想していたということになりますね。

1960年、テッド・ネルソンによってハイパーテキスト開発プロジェクトであるXanadu計画が始まります。
このプロジェクトは複雑すぎるあまり開発に時間がかかり、後から出てきたWebに立場を奪われてしまいました。
しかしそれでも開発は続けられ、構想から50年以上が経過した2014年にはオープンソースのソフトとして「OpenXanadu」がリリースされました。

1987年にApple社のビル・アトキンソンによって初の商用ハイパーメディアが開発されます。
これはHyperCardというもので、HyperTalkというスクリプト言語でプログラムが記述されました。

これらの歴史的なハイパーメディアに比べて、Webは非常にシンプルな構造になっているのが今に残っている成功の要因だと考えられます。

分散システムの歴史

分散システムは、複数のコンピュータをネットワークで接続して処理を分担して稼働するシステムです。
それぞれのコンピュータにかかる負荷が小さくなる一方、処理が複雑化したり、情報をやり取りするためオーバーヘッドが大きくなるなどのデメリットもあります。

1970年代、リモートのサブルーチン(関数)を呼び出す仕組みが生まれました。
この仕組みをRPC(リモートプロシージャコール)と呼びます。
RPCにはSun MicrosystemsのSun RPC(ONC RPC)やアポロ、IBMとDECのDCE RPCなどがあります。

しかしこの当時はまだ、互換性のないRPCシステムが複数存在している状態でした。

1980年代後半はUNIX戦争と呼ばれていました。
これはUNIXベンダーによる標準化規格を巡る争いのことです。

そして1990年に分散オブジェクトの標準化規格であるCORBAが発表されました。
このCORBAの登場より、本格的な分散システムの構築が可能になりました。

Webの登場

ここまでコンピュータ、インターネット、ハイパーメディア、分散システムなどの観点から歴史を見てきました。
特にインターネットやハイパーメディア、分散システムといったWebの根幹となる仕組みはそれぞれが1990年ごろに向けて本格的に利用できる形になっていることがわかりました。

そしてその1990年、ついにWWW(World Wide Web)が登場しました。これがいわゆるWebです。
WWWは、スイスにある欧州原子核研究機構CERNに所属していたティム・バーナーズ=リーによって開発されました。

Webが爆発的に広がるきっかけとなったのは、1992年に開発されたブラウザであるMosaicです。
こちらはイリノイ大学のNCSAによって開発されました。
Mosaicはテキストの中に画像を混在して表示させることができる最初のブラウザです。

これを機に各企業は独自拡張したNetscapeやInternet Explorerといったブラウザの開発を始め、ブラウザ戦争と呼ばれる状態にまでなりました。

様々なブラウザが乱立していては互換性が失われていき、Webがとても不便なものになってしまいます。
そこで1994年、マサチューセッツ工科大学(MIT)にWebの標準化団体W3C(World Wide Web Consortium)が設立されました。
W3CはHTMLやXML、HTTP、URI、CSSなどを標準化しており、現在もこれらの技術の開発を行っています。

こうしたWebの成長の中で、API(Application Programming Interface)は非常に大きな役割を果たしてきました。
APIはソフトウェアが別のソフトウェアのデータやプログラムの機能のを利用するための仕組みのことです。
先ほど分散システムとして紹介したRPCもAPIの一種といえます。
当時Web APIの構築には、W3Cが用意したプロトコルであるSOAPが使用されていました。

しかし今ではSOAPはあまり耳にしなくなりました。
これは、2000年にカリフォルニア大学のロイ・フィールディングによって提唱されたAPI設計思想、REST(Representational State Transfer)の登場が原因です 。

SOAPは大手ベンダーが支持している一方、RESTは一人の研究者の主張でした。
本来これではRESTが日の目を浴びることはありません。
しかしSOAPは、複数の大企業が各自で互換性のない実装を進めてしまったため標準化が難しくなり、結局解釈のずれなどによって相互運用性が欠落していました。

こうしてRESTの普及とともにWebは大きく成長し、あっという間にインターネット上で最も存在感を持つようになりました

まとめ

コンピュータ、インターネット、ハイパーメディア、分散システム、そしてWebの歴史について見てきました。
これらの技術は古くから構想があったものもありましたが、1990年ごろに現在広まっているものの原型ができました。
Web成功の要因はそのシンプルさゆえの拡張性・利便性だといえるでしょう。

Web業界は今でも成長し続けており、最新技術を追っていくのも大変です。
ですが、歴史を知ることで違った角度から理解を深めることもできますので、気になったら調べていきたいですね。

いまや誰もがWebを利用している時代となり、Webアプリを開発する技術は身につけておいて損はしないはず。
未経験でも今すぐWeb開発を始めてみたいなら、無料キャリアカウンセリングをお申し込みください。

関連記事

この記事のタグ