いまさら振り返る HTML の歴史 - Aizu Advent Calendar 2012

### Aizu Advent Calendar 6日目

Aizu Advent Calendar 
http://atnd.org/events/33782

この記事は好きなことについてツラツラと書き連ねる Aizu Advent Calendar 6日目の記事です！今回は HTML の歴史についてツラツラします。

まずは、HTML の前半部分「ハイパーテキスト」という言葉が生まれた経緯や背景について。
## 1. Hypertext の誕生

　「HTML とは HyperText Markup Language の略である」というのはコンピュータが好きな人たちの中では周知の事実である。このハイパーテキストのような概念が最初に登場したのは、1945年、The Atlantic Monthly 誌に掲載された”[As We May Think](http://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/)”という論文だと言われている。

　その論文の中で発表されたのは Memex（MEMory EXtender）という仮想機械であった。考案者のヴァニーヴァー・ブッシュは原子爆弾開発計画の指揮を執っていた。原子爆弾の開発においてどういった技術を組み合わせるか的確に判断するためには、膨大な資料を読んで分類し、関連するものを探しだして、その関連性を十分に検討する必要があった。

　ブッシュの考えた Memex は、当時最先端の情報技術であった[マイクロフィルム](http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%83%95%E3%82%A3%E3%83%AB%E3%83%A0)を用いた機械で、関連する文書同士を参照できる連想的な索引を機械化するというアイデアであった。それは文書の特定部分を指示することで関連した文書を表示するようなものであり、後のハイパーテキストの概念に影響を与えた。

　「ハイパーテキスト」という言葉が公に出てきたのは1965年のことである。テッド・ネルソンが ACM で発表した論文で初めて用いた。ネルソンは1967年にブラウン大学で [Hypertext Editing System](http://ja.wikipedia.org/wiki/Hypertext_Editing_System)  を開発している。

　そして1960年代、Memex に感銘を受けたダグラス・エンゲルバートは NLS（oNLine System）を開発し、1968年に実用化した。 NLS はハイパーテキストを実現しただけでなく、ウィンドウによる複数データの表示やマウスによる操作など、今日のコンピュータ環境の原型とも言える機能を持っていた。

　同じ年にサンフランシスコで開催された Fall Joint Computer Conference における [NLS のデモ](http://sloan.stanford.edu/mousesite/1968Demo.html)では、研究所にあるシステムに対して電話回線を通じてリアルタイムに操作を行い、その画面を巨大なスクリーンに映し出すなど見せ方も工夫しており、コンピュータ関係者に大きな衝撃を与えた。

## 2. Markup Language の普及

　1967年にグラフィックコミュニケーション協会の会長ウィリアム・タニクリフが効率的な文書作成や管理を実現させるアイデアとして「文書の構造情報と体裁情報の分離」を提唱する。1969年、それを受けて IBM のチャールズ・ゴールドファーブは GML（Generalized Markup Language）を開発した。

　GML はドキュメントの形式や構造、コンテンツの部分や設定をシンプルに記述することができた。 さらに IBM のテキスト整形ツールを利用してフォントの設定やページレイアウトを設定することで、書式の設定作業を簡略化した。

　GML で成功を収めたゴールドファーブは GML を SGML（Standard Generalized Markup Language）へと発展させる。視覚的な表現を生成する手段とされたGML に対して、SGML はタグを使うことによってデータに意味を持たせ、長期間に渡りデータを共有できるようにすることを目的とした。

　SGML は後の HTML（HyperText Markup Language）と XML（Extensible Markup Language）へと発展していく。
## 3. そして Hypertext Markup Language へ

　1989年、CERN（欧州素粒子物理学研究所）のティム・バーナーズ・リーが WWW（World Wide Web）を考案し、転送プロトコルの HTTP（HyperText Transfer Protocol）、リソースを識別するための URL（Uniform Resource Locator）、そしてハイパーテキストを記述するための HTML を設計する。

　HTML は SGML をベースとした言語であったが、初期の HTML にはマークアップの構造を定義する DTD（[Document Type Definition](http://www.kanzaki.com/docs/html/read-dtd.html)）が存在せず、厳密な SGML の応用言語ではなかった。1993年にダン・コノリーが最初の DTD を定義したが、既に無数に存在している HTML 文書と互換性を持たせながら、SGML の規約を満たそうとしたため、その作業は複雑なものとなった。

　DTD が定義されて、仕様上では「 SGML の応用言語」ということになった HTML であるが、実際に存在する HTML 文書の多くは SGML として解釈できないものであった。また SGML の仕様通りに HTML を処理するウェブブラウザも少なく、現在仕様の策定が行われている HTML 5 では SGML の応用言語であることは放棄されることになっている。

## ここまで

……とりあえずここまでです。 Web 解禁以降のブラウザ戦争とか、それに付随する HTML を取り巻く技術の変遷とか、WWW の裏で進められていたネルソンの[ザナドゥ計画](http://ja.wikipedia.org/wiki/%E3%82%B6%E3%83%8A%E3%83%89%E3%82%A5%E8%A8%88%E7%94%BB)とか結構アツいのでもっとまとめてみたかったのですが調べる時間が無かったのでまた今度。

Aizu Advent Calendar 7日目の担当は [@youxkei](https://twitter.com/youxkei) さんです。

## 参考

### Memex
* [MEMEX](http://www.wizforest.com/OldGood/memex/)
* [As We May Think](http://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/)
* [Memex - Wikipedia](http://ja.wikipedia.org/wiki/Memex)

### Ted Nelson
* [第43回　コンピュータ世界のカリスマ](http://jibun.atmarkit.co.jp/ljibun01/rensai/gyoukai/043/01.html)
* [Hypertext Editing System](http://ja.wikipedia.org/wiki/Hypertext_Editing_System)
* [ザナドゥ計画](http://ja.wikipedia.org/wiki/%E3%82%B6%E3%83%8A%E3%83%89%E3%82%A5%E8%A8%88%E7%94%BB)

### NLS
* [Doug Engelbart 1968 Demo](http://sloan.stanford.edu/mousesite/1968Demo.html)
* [エンゲルバートとNLS](http://www012.upp.so-net.ne.jp/renjitalk/outliners/history1.html)
* [Dr.ダグラス・エンゲルバート](http://i.impressrd.jp/e/2008/04/18/498)
* [ダグラス・エンゲルバート](http://www.ijinden.com/_c_05/Douglas_C_Engelbart.html)

### Markup Language
* [The SGML History Niche](http://www.sgmlsource.com/history/)
* [XML](http://edu.net.c.dendai.ac.jp/ad2/2011/8/index.xhtml)
* [XMLとSGMLはどこが違うのか](http://www.atmarkit.co.jp/fxml/rensai/w3cread36/w3cread36_1.html)
* [SQL，SGML，XMLそしてSQL/XML](http://www.itscj.ipsj.or.jp/tutorials/tu77.html)
* [XMLとは何か、そしてその先に何があるか](http://202.124.214.151/infoaic/200207/Default.asp?YM=200207&EDN=10)
* [ごくごく簡単なDTDの説明](http://www.kanzaki.com/docs/html/read-dtd.html)

### HTML
* [HTMLの過去・現在・未来](http://www.kanzaki.com/docs/html/htminfo-ex1.html)
* [DOCTYPE はなぜあるのか](http://d.hatena.ne.jp/wakabatan/20120623/1340453066)
* [Hypertext Markup Language](http://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt)
* [HTML Design Constraints](http://www.w3.org/MarkUp/HTMLConstraints.html)
* [HTML 2.0 Materials](http://www.w3.org/MarkUp/html-spec/)
* [HTML 5について。](http://www.marguerite.jp/Nihongo/WWW/Columns/HTML5.html)

### World Wide Web
* [World Wide Web](http://ja.wikipedia.org/wiki/World_Wide_Web)
* [WWWの歴史と仕組み](http://www.tuat.ac.jp/~asiaprog/courses/web/lesson01/)
* [インターネットとWebの歴史、そしてWeb標準の進化](http://dev.opera.com/articles/view/2-the-history-of-the-internet-and-the-w-ja/)
* [ティム・バーナーズ・リー  - Wikipedia](http://ja.wikipedia.org/wiki/%E3%83%86%E3%82%A3%E3%83%A0%E3%83%BB%E3%83%90%E3%83%BC%E3%83%8A%E3%83%BC%E3%82%BA%EF%BC%9D%E3%83%AA%E3%83%BC)
* [ウェブ未来論：第3回](http://d.hatena.ne.jp/i2k/20071023/future_of_web_03)


---

2012/12/06 - Sano ([@sh19910711](https://twitter.com/sh19910711))