web-dev-qa-db-fra.com

Pourquoi Alan Kay a-t-il dit: "Internet était si bien fait, mais le Web était par des amateurs"?

OK, j'ai donc paraphrasé. La citation complète:

L'Internet a été si bien fait que la plupart des gens le considèrent comme une ressource naturelle comme l'océan Pacifique, plutôt que quelque chose qui a été créé par l'homme. À quand remonte la dernière fois qu'une technologie avec une échelle comme celle-ci était si sans erreur? Le Web, en comparaison, est une blague. Le Web a été fait par des amateurs. - Alan Kay.

J'essaie de comprendre l'histoire d'Internet et du Web, et cette déclaration est difficile à comprendre. J'ai lu ailleurs qu'Internet est maintenant utilisé à des fins très différentes de celles pour lesquelles il a été conçu, et donc peut-être que cela tient compte.

Qu'est-ce qui rend Internet si bien fait et qu'est-ce qui rend le Web si amateur?

(Bien sûr, Alan Kay est faillible, et personne ici n'est Alan Kay, donc nous ne pouvons pas savoir précisément pourquoi il a dit cela, mais quelles sont certaines possibles explications?)

* Voir aussi l'interview originale *.

87
kalaracey

Il développe en fait sur ce sujet même sur la deuxième page de l'interview. Ce ne sont pas les lacunes techniques du protocole qu'il déplore, c'est la vision des concepteurs de navigateurs Web. Comme il l'a dit:

Vous voulez que ce soit un mini-système d'exploitation, et les gens qui ont fait le navigateur l'ont confondu avec une application.

Il donne quelques exemples spécifiques, comme la page Wikipédia sur un langage de programmation incapable d'exécuter des programmes d'exemple dans ce langage, et le manque de modification WYSIWYG, même si elle était disponible dans les applications de bureau bien avant l'existence du Web. 23 ans plus tard, et nous parvenons à peine à contourner les limites imposées par les décisions originales de conception de navigateur Web.

61
Karl Bielefeldt

Dans un sens, il avait raison. Les versions originales (pré-spécifiées) de HTML, HTTP et URL étaient conçues par des amateurs (pas des gens standards). Et il y a des aspects des conceptions respectives ... et des spécifications (originales) suivantes ... qui (pour le dire poliment) ne sont pas aussi bonnes qu'elles auraient pu l'être. Par exemple:

  • HTML n'a pas séparé la structure/le contenu de la présentation, et il a fallu une série de révisions ... et des spécifications supplémentaires (CSS) ... pour y remédier.

  • HTTP 1.0 était très inefficace, nécessitant une nouvelle connexion TCP pour chaque "document" récupéré.

  • La spécification d'URL était en fait une tentative de rétro-ingénierie d'une spécification pour quelque chose qui était essentiellement ad hoc et incohérent. Il y a encore des trous dans le domaine de la définition des schémas, et les règles de syntaxe des URL (par exemple, ce qui doit être échappé où) sont baroques.

Et s'il y avait eu plus de standards "professionnels" plus tôt, beaucoup de ces "erreurs" peut-être pas faites. (Bien sûr, nous ne le saurons jamais.)

Cependant, le Web a magnifiquement réussi malgré ces choses. Et tout le mérite devrait revenir aux personnes qui l'ont fait. Qu'ils soient ou non "amateurs" à l'époque, ils ne sont définitivement pas amateurs maintenant.

79
Stephen C

Cela semble être dû à un désaccord fondamental entre Alan Kay et les personnes (principalement Tim Berners-Lee) qui ont conçu le Web, sur la façon dont un tel système devrait fonctionner.

Le navigateur idéal, selon Kay, devrait vraiment être un mini système d'exploitation avec une seule tâche: exécuter en toute sécurité du code téléchargé depuis Internet. Dans la conception de Kays, le Web ne se compose pas de pages, mais d '"objets" de boîte noire qui peuvent contenir n'importe quel type de code (tant qu'il est sûr). C'est pourquoi il dit qu'un navigateur ne devrait pas avoir de fonctionnalités. Un navigateur n'aurait pas besoin de dire un analyseur HTML ou un moteur de rendu, car tout cela devrait être implémenté par les objets. C'est aussi la raison pour laquelle il ne semble pas aimer les normes. Si le contenu n'est pas restitué par le navigateur mais par l'objet lui-même, il n'est pas nécessaire d'avoir un standard.

De toute évidence, cela serait immensément plus puissant que le Web d'aujourd'hui, où les pages sont contraintes par les bogues et les limitations des navigateurs et des normes Web actuels.

La philosophie de Tim Berners-Lee, l'inventeur du web, est presque exactement le contraire. Le document " The Principle of Least Power " décrit les principes de conception qui sous-tendent HTTP, HTML, URL, etc. Il souligne l'avantage des limitations. Par exemple, il est plus facile d'analyser un langage déclaratif bien spécifié comme HTML, ce qui rend possible les moteurs de recherche comme Google. L'indexation n'est pas vraiment possible dans le Web de Kays d'objets de boîte noire turing-complete. L'absence de contraintes sur les objets les rend donc beaucoup moins utiles. Quelle est la valeur des objets puissants si vous ne les trouvez pas? Et sans une notion standard de liens et d'URL, l'algorithme de classement des pages de Google ne pourrait pas fonctionner. Et les signets non plus d'ailleurs. Bien sûr, la boîte noire serait également totalement inaccessible aux utilisateurs handicapés.

Un autre problème est la production de contenu. Nous avons maintenant divers outils, mais même depuis le début, tout amateur peut apprendre à créer une page html dans le bloc-notes. C'est ce qui a lancé le web et l'a propagé comme une traînée de poudre. Demandez-vous si la seule façon de créer une page Web vous oblige à commencer à programmer votre propre moteur de rendu? La barrière à l'entrée serait immense.

Les applets Java et Silverlight ressemblent dans une certaine mesure à la vision de Kays. Les deux systèmes sont beaucoup plus flexibles et puissants que le Web (puisque vous pouvez y implémenter un navigateur), mais souffrent des problèmes décrits ci-dessus. Et les deux technologies sont fondamentalement mortes dans l'eau.

Tim Berners-Lee était un informaticien qui avait de l'expérience avec les réseaux et les systèmes d'information avant d'inventer le web. Il semble que Kay ne comprenne pas les idées derrière le web, et donc il pense que les concepteurs sont des amateurs sans connaissance de l'histoire de l'informatique. Mais Tim Berners-Lee n'était certainement pas un amateur.

27
JacquesB

J'ai lu cela car Kay n'était pas assez familier avec les protocoles de niveau inférieur pour supposer qu'ils étaient nettement plus propres que le Web de niveau supérieur. L'ère "conçue par des professionnels" dont il parle avait encore des problèmes majeurs avec la sécurité (l'usurpation d'identité est toujours trop facile), la fiabilité et les performances, c'est pourquoi de nouveaux travaux sont en cours pour tout régler à grande vitesse ou à haute vitesse liens de perte de paquets. Revenez un peu plus loin et les noms d'hôtes ont été résolus en recherchant un fichier texte que les gens devaient distribuer!

Les deux systèmes sont des systèmes hétérogènes complexes et présentent d'importants défis de compatibilité descendante chaque fois que vous souhaitez corriger une verrue. Il est facile de repérer les problèmes, difficiles à résoudre, et comme le montre la liste des concurrents ayant échoué, il est étonnamment difficile de concevoir quelque chose d'équivalent sans passer par la même courbe d'apprentissage.

Comme un biologiste pourrait le dire à un promoteur de conception intelligent, si vous regardez l'un ou l'autre et voyez la conception de génie, vous ne regardez pas assez attentivement.

22
Chris Adams

Ahh oui, j'ai posé cette question à Alan plusieurs fois, par exemple quand il était à Potsdam et sur la fonc mailing list . Voici un plus récent citation de la liste qui pour moi le résume assez bien:

Après littéralement des décennies à essayer d'ajouter de plus en plus de fonctionnalités et à ne pas correspondre au logiciel que sur les machines sur lesquelles le navigateur d'origine a été effectué, ils en viennent lentement à l'idée qu'ils devraient exécuter en toute sécurité des programmes écrits par d'autres. Ce n'est que depuis quelques années - avec Native Client dans Chrome - que des programmes vraiment rapides peuvent être téléchargés en toute sécurité en tant qu'exécutables sans avoir à avoir l'autorisation d'un SysAdmin.

Ma compréhension de ses différentes réponses est qu'il pense que les navigateurs Web ne devraient pas afficher les documents (HTML), éventuellement enrichis, mais simplement exécuter des programmes. Personnellement, je pense qu'il a tort, même si je peux voir d'où il vient. Nous avons déjà eu ce genre de choses avec ActiveX, Java Applets, Flash et maintenant des applications JavaScript "riches", et l'expérience n'était généralement pas bonne, et mon opinion personnelle est que même maintenant la plupart de JavaScript les sites lourds sont un pas en arrière par rapport aux bons sites HTML, pas un arrêt en avant.

Théoriquement, bien sûr, tout cela a du sens: essayer d'ajouter l'interactivité au coup par coup à ce qui est essentiellement le langage de description de document est à l'envers et s'apparente à l'ajout de plus en plus d'épicycles au système ptolémaïque, tandis que la "bonne" réponse consiste à comprendre que (riche ) text est un cas particulier d'un programme et nous devrions donc simplement envoyer des programmes.

Cependant, étant donné le succès pratique de la WWW, je pense qu'il est sage de modifier nos théories plutôt que de critiquer la WWW pour avoir le culot de ne pas se conformer à nos théories.

10
mpw

On ne peut pas vraiment dire qu'Internet ou le Web a été inventé par des amateurs ou des professionnels car ces domaines sont absolument nouveaux; tous les gens étaient amateurs de protocoles Internet avant d'être inventés, donc d'un point de vue les inventeurs d'Internet étaient aussi des amateurs.

Si nous devions vraiment porter un jugement, Internet n'était pas si bon après tout: IPv6 est nécessaire. Et il ne s'agit pas seulement de l'espace d'adressage; IPv6 a un nouvel en-tête avec des champs moins nombreux et différents.

Une autre grande différence par rapport à Internet et au Web est la façon dont ils sont perçus par le programmeur; un programmeur interagit rarement avec Internet. De son point de vue en IP vous avez des adresses et en TCP vous avez un port en plus et vous êtes assuré que les colis sont envoyés. C'est à peu près tout ... Alors qu'avec Web le programmeur a une interaction plus intense: méthodes HTTP, en-têtes, HTML, URL, etc. Il est normal de voir les limites de quelque chose avec beaucoup plus de possibilités que dans quelque chose avec presque aucune possibilité. Avec cela, je ne veux pas dire que l'Internet est simple: en dessous, il est un peu complexe, mais cette complexité est gérée par les ingénieurs réseau et télécommunications et consiste à configurer quelque chose dans un nombre limité de possibilités tandis que sur le Web, vous avez essentiellement des possibilités illimitées, mais la tâche de créer des applications complexes en ne s'appuyant que sur des paquets Envoi en cours.

En ce qui concerne la grandeur de ces deux technologies, Internet est tellement apprécié car c'est une technologie très évolutive et l'idée de superposition était très bonne; fondamentalement, aux niveaux inférieurs, vous pouvez utiliser n'importe quelle technologie de votre choix (WLAN, Ethernet, Token Ring, etc.) et avoir IP comme protocole intermédiaire standard sur lequel TCP et UDP sont placés et au-dessus desquels vous peut essentiellement ajouter le protocole d'application que vous souhaitez.

La grandeur du Web est strictement liée à la grandeur d'Internet parce que le Web dépend fortement d'Internet, avec la pile TCP/IP en dessous. Mais je dirais qu'Internet dépend aussi du Web; Internet existait 20 ans avant le Web et était un peu anonyme mais 20 ans après le Web, Internet est omniprésent et tout cela grâce au Web.

4
m3th0dman

Je pense qu'il montrait quelque chose de moins obscur - TBL ne savait rien du travail hypertexte qui s'était déroulé dans les années 60, donc ce travail n'a pas éclairé la conception du Web. Il parle souvent de l'informatique comme d'une culture pop, où les pratiquants ne connaissent pas leur histoire, et "réinventent continuellement le pneu crevé".

4
Gregor McNish

Internet a remarquablement bien fonctionné en tant que prototype du concept de commutation de paquets découvert par Baran, Pouzin et ses contemporains. Contrairement à l'opinion populaire, cela ne signifie pas que IPv4 tel qu'il est transmis est l'architecture de protocole parfaite, ou que IPv6 est la voie à suivre. John Day, qui a été profondément impliqué dans le développement d'ARPANET et d'IP, l'explique dans son livre de 2008 Patterns of Network Architecture .

Quant au Web, selon Richard Gabriel, "le pire c'est mieux". Le compte de Tim Berners-Lee, Weaving The Web , est décent. Comment le Web est né par Gillies & Cailliau est plus dense et moins lisible mais a beaucoup de détails et des liens fascinants avec d'autres événements de l'informatique personnelle à l'époque . Je ne pense pas que Kay lui accorde suffisamment de crédit.

4
vdm

Je sais pas, une partie de l'Internet non Web a des verrues horribles. Le courrier électronique était avant le Web et fait partie d'Internet, et la norme est très ouverte et nécessite beaucoup de piratages pour résoudre (mais pas résoudre) le problème du spam.

1
Rory

"Amateur" ne fait pas référence au manque de compétences en programmation, mais au manque d'imagination.

Le problème sous-jacent du site Web de Tim Berners-Lee est qu'il n'a jamais été conçu pour les développeurs . (Cela contraste fortement avec le site Web d'Alan Kay.)

Le site Web de Tim a été conçu pour les non-codeurs qui publieraient sur le Web directement en barbotant avec des fichiers contenant leurs journaux/articles entrecoupés de langage de balisage HT: C'est comme WordPerfect des années 80 et MS-Word, sauf qu'ils utiliseraient " <b> </b>" au lieu de cliquer sur le B et l'enregistrerait sous un format ouvert ". htm" au lieu d'un format propriétaire ". doc". L'invention voici la balise " <a>", qui permet à ces revues/articles statiques d'être globalement liés entre eux .

Et c'est tout, c'est toute la vision du web par Tim: son web est une simple autoroute mondiale de l'interconnexion statique-des articles. Peut-être que si vous aviez de l'argent, vous pouvez acheter un éditeur comme Dreamweaver, Nexus , Publisher, Citydesk ( ?), etc., qui vous aiderait à générer tous ces " <b> </b> "tags en cliquant sur le B icône.

..Et nous voyons comment sa vision n'a pas fonctionné comme prévu. En effet, il y a d'énormes drapeaux rouges dès le début que le monde voulait bien plus que ce que la vision de Tim offre:

  • Drapeau rouge 1: l'essor rapide du "smart CGI" (PHP).

  • Drapeau rouge 2: l'essor rapide du "HTML intelligent" (Javascript).

Ces jours-ci, nous avons encore plus de drapeaux rouges comme la montée en puissance de Chrome-OS-is-the-browser-is-the-OS ( exactement ce qu'Alan Kay avait voulu que le navigateur soit btw) et WASM /browser-extensions.


Contrairement au site Web de Tim, le site Web d'Alan Kay, d'autre part, est un site Web dynamique conçu pour les programmeurs: une autoroute mondiale d'interconnexions dynamique-programmes. Les non-codeurs qui ont besoin d'une "page" en publieraient simplement une en utilisant un programme sur le Web . (Et le programme lui-même a évidemment été écrit par des programmeurs, pas des dabblers HTML.)

..C'est exactement le statu quo du web de Tim dans les années 2000, mais si nous avions le web d'Alan, cela aurait été fait dans les années 1990: au lieu que le monde n'ait "wordpress et friendster" que dans les années 2000, nous le ferons à la place les avoir à droite lorsque le Web a commencé dans les années 1990.

..De même, au lieu d'avoir des programmes comme Steam, Visual Studio, Warcraft, VM Ware sur le web dans les années 2040, nous les aurons à la place dès maintenant dans les années 2010. (La multi-décennie le retard est dû à ces programmes déjà ayant été construits pour l'OS-n'est-pas-le-navigateur, réduisant ainsi l'incitation économique à les reconstruire sur l'OS-est-le-navigateur -est-l'OS.)

Donc c'est ce que les gens veulent dire quand ils disent que Tim Berners-Lee a tué le True Dynamic Web en poussant son "web statique minable" sur le monde. Avez-vous déjà entendu parler des termes "web 2.0", "web 3.0"? Ils auraient simplement été appelés "Le Web" si nous avions eu le Web d'Alan au lieu du Web de Tim. Mais le web de Tim a besoin d'une révision constante car il est tellement statique .

De toute évidence, tout espoir n'est pas perdu, car le Web peut être remodelé de la façon dont les fournisseurs de navigateurs le définissent. Mais le fait est que tous ces trucs "bord saignant" qu'ils "inventent" sur le web sont maintenant des trucs qui ont déjà été inventés il y a longtemps. Nous pourrions déjà tout avoir aujourd'hui, pas demain.

0
Pacerier