アラン・ケイが「インターネットはとてもよくできていたが、ウェブはアマチュアによるものだった」と言ったのはなぜですか?


86

OK、だから私は言い換えました。完全な引用:

インターネットは非常によくできていたため、ほとんどの人は人工的なものではなく、太平洋のような自然資源と考えています。そのような規模のテクノロジーが最後にエラーになったのはいつですか?それに比べて、ウェブは冗談です。ウェブはアマチュアによって行われました。-アラン・ケイ。

私はインターネットとウェブの歴史を理解しようとしていますが、この声明は理解するのが難しいです。インターネットは現在、設計されたものとは非常に異なるものに使用されていることを他の場所で読んだことがあります。

何がインターネットをこれほど良くし、何がウェブをこれほどアマチュアにしているのでしょうか?

(もちろん、アラン・ケイは間違いがあり、ここにいる人は誰もいないので、なぜ彼がそれを言ったのか正確に知ることはできませんが、可能な説明は何ですか?)

* 元のインタビューも参照してください*。


24
実際にはアラン・ケイは、過去のある時点でのスタックオーバーフローの質問...答えた
世界のエンジニア


6
私見で最も見逃された機会は、HTML構文解析を厳密にしないことでした。例えば、SGMLなどの前身は厳密な構文解析ルールを持っていましたが、初期のWebブラウザ/ UAはあらゆる種類のHTMLを許可し、それらを表示するために最善を尽くしました。これにより、HTMLを簡単に開始できましたが、長年にわたって問題が発生していました。
-jqa

9
私見の基本的な問題は、Webの使用が最初のアプリケーションドメイン(ハイパーテキスト)をはるかに超えて拡張されたことです。
chmike

3
アラン・ケイの作品には多くの敬意を払っていますが、彼が本当にこれを信じているなら、彼は彼の裏側から話しているのです。低レベルのネットワークパーサーを実際に実装するのにかなりの時間を費やした人として、TCP / IPのAPIも同様にアマチュアで素朴であると確信できます。もちろん、オプション拡張の可変長(誰も使用したことのない)を実装しますが、アドレススペースを固定し、2バイトの長さに制限します。
エヴァンプライス14

回答:


61

彼は実際、インタビューの2ページ目でそのトピックについて詳しく説明しています。彼が嘆いているプロトコルの技術的な欠点ではなく、ウェブブラウザのデザイナーのビジョンです。彼が言ったように:

あなたはそれをミニオペレーティングシステムにしたい、そしてブラウザをした人々はそれをアプリケーションと間違えた。

彼は、ウェブが存在するずっと前にデスクトップアプリケーションで利用可能であったにもかかわらず、その言語でサンプルプログラムを実行できないプログラミング言語のWikipediaページやWYSIWYG編集の欠如など、いくつかの特定の例を挙げています。23年後、元のWebブラウザーの設計決定によって課せられた制限を回避するために、私たちはかろうじて対処しようとしています。


それで彼はブラウザをミニオペレーティングシステムにしたかったので、初期のHTMLよりもインタラクティブになりました(今は良くなっています、同意します)?
kalaracey

2
WYSIWYGはWebと何の関係がありますか?これは純粋にブラウザの機能です。今、適切な編集の欠如、それは本当のWebの失敗です。POSTその目的にはまったく不十分です。
MSalters

9
「WYSIWYGはWebと何の関係があるのですか?」それがポイントであり、ウェブのビジョンは非常に限られています。渡される静的テキストファイル。相互作用なし。ロジックなし。コードなし。これは、コンピューターができることや、ケイが数年前にすでに行ったことを見ていたことと比較すると、非常に限定的なビジョンです。また、ウェブは非常に静的であるため、絶え間ない改訂が必要です。Kayのビジョンでは、ブラウザ自体には表示するWebページが付属しています。
コーマックマルホール

2
動作する理想的な世界では、JavaアプレットやFlashなどのフレームワークがそれを実現しようとしました。セキュリティの側面、システム間の互換性、拡張性、および要求間の状態を維持するために働く作業を考慮する場合。なぜこれほど長い時間がかかったのも不思議ではありません。何人かの非常に賢い/才能のある人々は、素朴な仕様の基本的な欠陥/弱点を長年にわたって解決してきました。
エヴァンプライス14


79

ある意味で彼は正しかった。HTML、HTTPおよびURLの元(前の仕様)のバージョンがされたアマチュア(ない標準人)が設計しました。そして、それぞれの設計の側面と、その後の(元の)仕様...があります。例えば:

  • HTMLは構造/コンテンツをプレゼンテーションから分離しませんでした。これを修正するには、一連の改訂...および追加仕様(CSS)...が必要です。

  • HTTP 1.0は非常に非効率的で、フェッチされる「ドキュメント」ごとに新しいTCP接続が必要です。

  • URL仕様は、実際には本質的にアドホックで一貫性のないものの仕様をリバースエンジニアリングする試みでした。スキームの定義の領域にはまだ穴があり、URLの構文規則(たとえば、どこでエスケープする必要があるか)はバロックです。

そして、以前より多くの「プロフェッショナル」標準が関係していた場合、これらの「ミスステップ」の多くは行われなかったかもしれません。(もちろん、私たちは決して知りません。)

しかし、これらのことにもかかわらず、ウェブは見事に成功しました。そして、すべてのクレジットは、それを実現させた人々に与えられるべきです。彼らが当時「アマチュア」であったかどうかにかかわらず、彼らは今や間違いなくアマチュアではありません。


29
HTMLはブラウザ戦争によって汚染されたという問題もあります
ラチェットフリーク

3
これは、現在の標準に対する私自身の不満を説明する方法の一部になります。これは、経験、後知恵、および現在の技術的能力の両方の利点を再検討するために必要なものだと思います。
-greyfade

3
@greyfade-残念ながら、W3Cは、1)数百万のレガシーWebサーバーのインストール、数十億のレガシーWebページ、および2)ものの修正よりも「商業的優位性」カードの使用に関心のある企業によって、その目標が大幅に妨げられています。
スティーブンC

3
@StephenC:それにもかかわらず、新しい、より良い標準を構築する努力を強く支持します。
greyfade

1
@greyfadeこれもインターネットの問題です。IP / TCPスタックとOSIモデルを備えた数百万のルーター、より良い標準化されたモデルは採用されません。
m3th0dman

27

これは、Alan Kayとウェブを設計した人々(主にTim Berners-Lee)との間で、そのようなシステムがどのように機能するかについての根本的な不一致によるものと思われます。

Kay氏によると、理想的なブラウザは、インターネットからダウンロードしたコードを安全に実行するというタスクを1つだけ持つミニオペレーティングシステムである必要があります。Kaysの設計では、Webはページではなく、任意の種類のコードを含むことができるブラックボックスの「オブジェクト」で構成されます(安全である限り)。これが彼がブラウザに機能を持たせるべきではないと言う理由です。ブラウザは、HTMLパーサーやレンダリングエンジンを言う必要はありません。これらはすべてオブジェクトによって実装される必要があるためです。これは、彼が標準を好まないように思われる理由でもあります。コンテンツがブラウザではなくオブジェクト自体によってレンダリングされる場合、標準は必要ありません。

明らかに、これは、現在のブラウザとWeb標準のバグと制限によってページが制約されている今日のWebよりも非常に強力です。

Webの発明者であるTim Berners-Leeの哲学は、ほぼ正反対です。「The Principle of Least Power」というドキュメントは、HTTP、HTML、URLなどの基礎となる設計原則の概要を示しています。彼は制限の利点を指摘しています。たとえば、HTMLなどの明確に指定された宣言型言語を使用すると、分析が容易になり、Googleのような検索エンジンが可能になります。インデックス作成は、完全なブラックボックスオブジェクトのKays Webでは実際には不可能です。そのため、オブジェクトに制約がないため、実際にはオブジェクトの有用性ははるかに低くなります。強力なオブジェクトが見つからない場合、どれほど価値がありますか?また、リンクとURLの標準的な概念がなければ、Googleのページランクアルゴリズムは機能しませんでした。そして、どちらもそのことについてブックマークしません。

別の問題はコンテンツ制作です。現在、さまざまなツールが用意されていますが、最初からアマチュアはメモ帳でhtmlページを作成する方法を学ぶことができます。これがウェブをキックスタートし、山火事のように広めたものです。Webページを作成できる唯一の方法が、レンダリングエンジンのプログラミングを開始する必要があるかどうかを検討してください 参入障壁は計り知れない。

JavaアプレットとSilverlightは、Kaysのビジョンにある程度似ています。両方のシステムは、Webよりもはるかに柔軟で強力ですが(ブラウザを実装できるため)、上記の問題に悩まされています。そして、両方の技術は基本的に水中で死んでいます。

Tim Berners-Leeは、ウェブを発明する前にネットワークと情報システムの経験を積んだコンピューター科学者でした。KayはWebの背後にあるアイデアを理解していないようです。したがって、デザイナーはコンピューティング履歴の知識のないアマチュアだと考えています。しかし、ティムバーナーズリーは確かにアマチュアではありませんでした。


6
+1。アラン・ケイが言うことの多くは、彼を理論と実践の違いについて古い冗談を言わない人のように見せます。彼は長年にわたって多くの素晴らしい理論を開発してきましたが、実際にはひどく失敗し、実際にはうまく機能するあまり理論的にきれいではないシステムによって「アイデアの市場」で完全に打ち負かされました。
メイソンウィーラー

2
「HTMLのような適切に指定された宣言型言語」。それは金持ちです。
アンディ

2
設計された目的であるハイパーテキストでは、htmlで十分です。しかし、アプリケーションプラットフォームとしては、ひどく失敗します。唯一の利点は、展開やプラットフォームに依存しないことです。ユーザーがコンピューター上で行うことは、検索だけではありません。財務計画、ゲーム、ソーシャルインタラクションなど。ブラックジャックゲームを検索できない場合、誰が気にしますか。Webアプリとモバイルアプリのどちらかを選択すると、人々は圧倒的にネイティブアプリを選択します。それには理由があります。
アンディ

2
ネイティブアプリケーションの方が強力であることは間違いありませんが、それは問題ではありません。Kayによると、ウェブはネイティブアプリのみであり、HTMLはまったく使用できません。そのようなウェブは決して飛び立ちませんでした。
ジャックB

3
@Pacerier:何十年も前のJavaアプレットや、ActiveX、Silverlightなどですべてを実行することができました。WebはHTMLに限定されないため、まったく妨げられません。Javaアプレットなどのコードを含むあらゆるメディア形式をサポートできます。答えで述べた理由により、あまり広く使われていません。
ジャックB

22

Kayは、低レベルのプロトコルに精通していないため、高レベルのWebよりもかなりクリーンであると想定しているため、これを読みました。彼が話している「専門家によって設計された」時代には、セキュリティ(スプーフィングはまだ簡単すぎる)、信頼性、およびパフォーマンスに大きな問題が残っていたため、高速または高パケット損失リンク用にすべてを調整する新しい作業が行われています。少し戻って、ホスト名は、配布する必要があるテキストファイルを検索することで解決されました!

どちらのシステムも複雑な異種システムであり、いぼを修正したいときはいつでも後方互換性に大きな課題があります。問題を見つけるのは簡単で、それらを修正するのは難しく、どちらかの失敗した競合他社が示すように、同じ学習曲線を経ずに同等のものを設計することは驚くほど困難です。

生物学者はインテリジェントデザインの支持者に言うかもしれませんが、どちらかを見て、天才的なデザインを見ると、十分によく見えていません。


2
.hostsファイルは、ほぼすべてのプラットフォームでまだ使用されています。悪意のあるサイトをブラックリストに載せるのに便利です。
ロブK

@RobK間違いなく– 更新にtools.ietf.org/html/rfc953のようなものを使用しなくても、その履歴は深くなります。しかし、最近では、最も一般的な使用方法はマルウェアなのでしょうか。
クリスアダムス

10

ああ、そうです、私はアランにこの質問を何度も尋ねました。たとえば、彼がポツダムにいて、foncメーリングリストにいたときです。ここにリストからのより最近の引用があります。

文字通り、より多くの機能を追加しようとし、元のブラウザが実行されたマシン上で実行されたよりもまだソフトウェアに一致していませんでしたが、彼らは他人によって書かれたプログラムを安全に実行する必要があるという考えに徐々に近づいています。ChromeのNative Clientを使用すると、SysAdminの許可がなくても実行可能なファイルとして非常に高速なプログラムを安全にダウンロードできるのはここ数年だけです。

彼のさまざまな答えについての私の理解は、ウェブブラウザは(HTML)ドキュメントを表示するべきではなく、おそらく充実したものではなく、単にプログラムを実行するべきだと考えているということです。私は彼がどこから来ているのかを見ることができますが、彼はこれで間違っていると思います。ActiveX、Java Applets、Flash、そして今では「リッチ」なJavaScriptアプリでこの種のものを既に持っていて、経験は概して良くありませんでしたし、私の個人的な意見では、今でもJavaScriptの重いサイトのほとんどは良いHTMLから一歩後退しています前方停止ではなく、サイト。

理論的にはもちろん、それはすべて理にかなっています:基本的にドキュメント記述言語であるものに対話性の断片を追加しようとすることは、プトレマイオスのシステムにますます多くのエピサイクルを追加するのに似ていますが、「正しい」答えは)テキストはプログラムの特殊なケースであるため、プログラムを送信する必要があります。

しかし、WWWの実用的な成功を考えると、ゴールが私たちの理論に適合しないためにWWWを非難するよりも、私たちの理論を修正するのが賢明だと思います。


1
私はこの信念に近づいています、元の質問に関する私のコメントを参照してください。基本的に静的なドキュメントの動的バージョン(おそらくは間違いなく)としてではなく、ブラウザでの(「オペレーティングシステム」としての)ネイティブで安全なコード実行が、彼が得ているものだと思います。
kalaracey

1
はい。ただし、すでにオペレーティングシステムがあり、Webからプログラムをダウンロードしてオペレーティングシステムで実行できるため、その機能が必要な場合は既に用意されています。そのため、ブラウザであるIMHOはユーザーのさまざまなニーズを満たしています。アプリ配信プラットフォームとしてのWebへの駆動力は、サプライヤ側からより推進されているようです(クールで光沢のある技術+簡単な展開)。
mpw

3
「はい、しかし、私たちはすでにオペレーティングシステムを持っています。そして、私たちのオペレーティングシステムで実行するために、すでにウェブからプログラムをダウンロードできます...」しかし、信頼が問題です。信頼するアプリケーション(アプリのプロデューサー)を確認する(MD5 / SHA)だけをダウンロードするため、アクセスするWebサイトの数と同じ数のネイティブアプリケーションを1日でマシンにダウンロードすることはありません。 t知らない人から盲目的に数十(数百)をダウンロードします。OTOH、ブラウザをOSとして使用すると、両方の長所を活用できます!
kalaracey

@mpwいいえ、ブラウザはそれを満たしていません。ブラウザの「アプリ」は、ブラウザを悪用して、そうでないものにしようとするので恐ろしいです。最も基本的なコントロールを提供し、JavaScriptを使用して、デスクトップの豊富なコントロールセットにリモートで近いものを作成しようとします。kaysのビジョンを前進させているのは、Microsoft、Apple、Googleのアプリストアです。アプリが増え続けているため、通常のユーザーはブラウザの使用を減らすと思います。Webは引き続き存在しますが、アプリによってバックグラウンドで使用されます。
アンディ

@mpw、それがあるはずですが、今まだありません現在、私のブラウザーでEclipseを実行するためのURIは何ですか?なにもない。これが問題です。これは、アランのビジョンとティムの近視眼的なバイラルアイデアの違いです。Timの不完全なアイデアでは、URIを使用してブラウザーからOSにEclipseをダウンロードし、ブラウザーの外部で手動で実行する必要があります。Alanのアイデアでは、URIを使用してEclipseをダウンロード、キャッシュ、実行するだけです。ティムはウェブを発明したのではなく、彼の粗末で粗末な「偽造」製品でウェブを殺しまし。...
パセリエ

4

インターネットやWebがアマチュアや専門家によって発明されたと言うことはできません。これらの分野はまったく新しい分野だからです。発明される前はすべての人がインターネットプロトコルに精通していたため、インターネットの発明者もアマチュアでした。

本当に判断力があるとしたら、結局のところインターネットはそれほど大きくありませんでした。IPv6が必要です。また、アドレス空間だけではありません。IPv6には、より少ない異なるフィールドを持つ新しいヘッダーがあります。

インターネットやWebとのもう1つの大きな違いは、プログラマーがそれらをどのように認識するかです。プログラマーがインターネットとやり取りすることはほとんどありません。彼のIPの観点からはアドレスがあり、TCPにはさらにポートがあり、パッケージが送信されることが保証されています。これで終わりです... Webを使用すると、プログラマーはHTTPメソッド、ヘッダー、HTML、URLなど、より強力な相互作用を持ちます。これで、私はインターネットが単純であると言いたくありません:

これら2つの技術の素晴らしさに関して、インターネットは非常にスケーラブルな技術であり、階層化のアイデアが非常に優れていたため、インターネットは高く評価されています。基本的に低レベルでは、必要な任意のテクノロジー(WLAN、イーサネット、トークンリングなど)を使用でき、TCPとUDPが配置される標準中間プロトコルとしてIPを持ち、その上に基本的に必要なアプリケーションプロトコルを追加できます。

Webはインターネットに強く依存しており、その下にTCP / IPスタックがあるため、Webの素晴らしさはインターネットの素晴らしさに厳密に関連しています。しかし、インターネットもWebに依存しています。インターネットはWebの20年前に存在し、一種の匿名でしたが、Webの20年後、インターネットはどこにでもあり、これはすべてWebのおかげです。


10
これはまったく正しくありません。ヴィントンサーフは大学院でデータパケットネットワーキングを学び、ボブカーンはARPAの情報処理技術オフィスで働いていたため、TCP / IPを開発したときはどちらプロでした。一方、バーナーズ・リーは素粒子物理学にいた。

2
@GrahamLee Berners-Leeは物理学にはいませんでした。1980年のCERNのウィキペディアによると、彼は「研究者間での情報の共有と更新を促進するために、ハイパーテキストの概念に基づいたプロジェクトを提案しました」。1981年から1984年にかけて「リアルタイムのリモートプロシージャコールが行われ、コンピューターネットワーキングの経験が得られました。」1989年から1990年までに、彼はアマチュアではありませんでした...両方の引用にはen.wikipedia.org/wiki/Tim_Berners-Lee
m3th0dman

次に、答えにはさらに問題があります。「すべての人がアマチュアだった」ということでカバーされた全員が無素人であることが判明しました:

@GrahamLee絶対主義者になりたいなら、私は彼がこれを書いたときノイマンが実際にコンピュータアーキテクチャの分野で専門的ではなかったと信じている傾向にある- en.wikipedia.org/wiki/First_Draft_of_a_Report_on_the_EDVAC -基本的にはそれも完成しなかったとのほとんどのための青写真を表し今日使用されているコンピューターアーキテクチャ。当時、フォンノイマンはマンハッタンプロジェクトで忙しく、それ以前はコンピューターアーキテクチャなどはありませんでした(または、バベッジに行って同じことを言うこともできました)。
m3th0dman

1
いいえ、彼はそうではなく、数学者でした。人々はフォン・ノイマンの制約のうち方法を探してきたが(またはより適切に、チューリング)数十年のための機械:cs.ucf.edu/~dcm/Teaching/COT4810-Fall%202012/Literature/...

4

彼はもっとわかりにくいものを指していたと思う-TBLは60年代から続いていたハイパーテキストの仕事について何も知らなかったので、この仕事はウェブのデザインを知らなかった。彼は、コンピューティングを、開業医が彼らの歴史を知らないポップカルチャーとしてしばしば語り、絶えず「パンクタイヤを再発明します」。


4

インターネットは、Baran、Pouzin、および同時代人によって発見されたパケット交換の概念のプロトタイプとして非常にうまく機能しました。一般的な意見に反して、これは、IPv4が完全なプロトコルアーキテクチャであること、またはIPv6が進むべきことを意味するものではありません。これは、ARPANETとIPの開発に深く関わったJohn Dayが2008年に出版した「Patterns of Network Architecture」で説明しています。

Webに関しては、リチャードガブリエルの言葉を借りれば、「悪いほど良い」です。Tim Berners-LeeのアカウントWeaving The Webはまともです。Gillies&CailliauによるWebの誕生方法は、より密度が高く、読みにくいですが、当時のパーソナルコンピューティングにおける他のイベントとの詳細や魅力的なリンクがたくさんあります。ケイがそれを十分に評価しているとは思わない。


1

私は知らない、非ウェブインターネットの一部には恐ろしいいぼがあります。電子メールはウェブより前にあり、インターネットの一部であり、標準は非常にオープンであり、スパムの問題に対処する(しかし解決しない)ために多くのハックが必要です。


3
彼はインターネットではtcp / ipを意味し、ウェブでは電子メールではなくhttp / html / javascriptを意味したと思います。彼はブラウザについて話を続けます。
kalaracey

電子メールはウェブとまったく同じようにインターネットに関連しているため、ウェブを「インターネットの一部」として明確に述べているように、ウェブを別の何かと呼ぶことは不正確です。さらに、ケイは、太平洋と同じように、ネットを当然のことと考えていると言いました。応答で電子メールについて話し始めるという事実は、ポイントを証明しています。:-)
ペルマイスター

0

「アマチュア」とは、プログラミングスキルの欠如ではなく、想像力の欠如を指します。

Tim Berners-LeeのWebの根本的な問題は、開発者向けに構築されたことがないことです。(これはAlan KayのWebとはまったく対照的です。)

ティムのウェブは、ウェブ上で公開します非プログラマーのために建てられた直接 HT-マークアップ言語が散在し、その雑誌/記事を含むファイルに手を染めによって:彼らが使用する以外は、1980年代のWordPerfectおよびMS-Wordのようなものだ」<B> < / b> " Bアイコンをクリックする代わりに、独自の" .doc "形式ではなく、開いている" .htm "形式として保存します。ここでの発明は「<a>」タグであり、これらの静的ジャーナル/記事をグローバルに相互リンクできます。

それだけです、それがティムのWebビジョン全体です。彼のWebは、相互にリンクされた静的な記事の単なるグローバルなハイウェイです。たぶんお金があれば、アイコンをクリックすることですべての「<b> </ b>」タグを生成するのに役立つDreamweaver、Nexus、Publisher、Citydesk()などのエディターを購入できます。B

..そして、彼のビジョンが意図したとおりに機能しなかったことがわかります。実際、ティムのビジョンが提供する以上の方法を世界が望んでいたという最初から強力な危険信号があります。

  • 赤旗1:「スマートCGI」(PHP)の急増。

  • 赤旗2:「スマートHTML」(Javascript)の急速な台頭。

最近では、我々はの上昇のようにも多くの赤旗持っクロームOSを-ある-ブラウザで-OS(正確にアラン・ケイが、ところでするブラウザを意図していたもの)とWASM /ブラウザの拡張機能は。


一方、TimのWebとは対照的に、Alan KayのWebは、プログラマー向けに構築された動的な Web です。つまり、相互リンクされた動的なプログラムのグローバルなハイウェイです。「ページ」を必要とする非コーダーは、Web上のプログラムを使用し単純に公開します。(そして、プログラム自体は明らかにHTMLダブラーではなくプログラマーによって書かれました。)

..これはまさに2000年代のティムのWebの現状ですが、アランのWebがあれば、1990年代に行われていました。2000年代のみに「ワードプレスとフレンドスター」が存在する世界の代わりに、 1990年代にウェブが始まったときにそれらを正しく持っている。

..同様に、2040年代にSteam、Visual Studio、Warcraft、VM Wareなどのプログラムをウェブ上に置く代わりに、2010年代にそれらをすぐに使用できるようにします。(数十年の遅延は、これらのプログラムがOS-is-the-the-browser用に既にビルドされているためです。したがって、OS-is-the-the-browser-is-the -OS。)

だからティム・バーナーズ・リーが「みすぼらしい静的ウェブ」を世界に押し出して真の動的ウェブを殺したと言うとき、これは人々が意味することです。「web 2.0」、「web 3.0」という用語を聞いたことがありますか?私たちがティムのウェブの代わりにアランのウェブを持っていたら、それらは単に「ウェブ」と呼ばれていただろう。しかし、TimのWeb は非常に静的であるため、絶えず改訂する必要があります

明らかに、すべての希望が失われるわけではありません。ブラウザベンダーが定義したとおりにWebを改造できるからです。しかし、ポイントは、彼らが現在ウェブ上で「発明している」これらの「最先端」のものは、ずっと前にすでに発明されたものであるということです。明日ではなく、今日すべてをすでに持っている可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.