Por que Alan Kay disse: “A Internet foi tão bem feita, mas a web foi de amadores”?

84

OK, então parafraseei. A citação completa:

The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs. -- Alan Kay.

Estou tentando entender a história da Internet e da Web, e essa declaração é difícil de entender. Eu li em outro lugar que a Internet agora é usada para coisas muito diferentes do que foi projetado, e talvez isso influencie.

O que torna a Internet tão bem feita e o que torna a web tão amadora?

(Claro, Alan Kay é falível, e ninguém aqui é Alan Kay, então nós podemos não sei exatamente por que ele disse isso, mas quais são algumas possíveis explicações?)

* Veja também a entrevista original *.

    
por kalaracey 24.03.2013 / 03:52
fonte

10 respostas

61

Ele realmente elabora esse mesmo tópico na segunda página da entrevista. Não são as deficiências técnicas do protocolo que ele está lamentando, é a visão dos designers de navegadores da web. Como ele disse:

You want it to be a mini-operating system, and the people who did the browser mistook it as an application.

Ele dá alguns exemplos específicos, como a página da Wikipédia em uma linguagem de programação sendo incapaz de executar qualquer programa de exemplo naquele idioma, e a falta de edição WYSIWYG, mesmo estando disponível em aplicações desktop muito antes da web existir. 23 anos depois, e estamos apenas mal conseguindo começar a contornar as limitações impostas pelas decisões originais de design do navegador da Web.

    
por 24.03.2013 / 14:30
fonte
79

De certo modo, ele estava certo. As versões originais (pré-especificação) de HTML, HTTP e URL foram projetadas por amadores (não pessoas de padrões). E há aspectos dos respectivos projetos ... e as especificações subseqüentes (originais) ... que são (para dizer educadamente) não tão boas quanto poderiam ter sido. Por exemplo:

  • O HTML não separou estrutura / conteúdo da apresentação e exigiu uma série de revisões ... e especificações extras (CSS) ... para corrigir isso.

  • O HTTP 1.0 era muito ineficiente, exigindo uma nova conexão TCP para cada "documento" buscado.

  • A especificação do URL era na verdade uma tentativa de fazer engenharia reversa de uma especificação para algo que era essencialmente ad hoc e inconsistente. Ainda existem lacunas na área de definição de esquemas, e as regras de sintaxe para URLs (por exemplo, o que precisa ser escapado onde) são barrocas.

E se houvesse mais padrões "profissionais" envolvidos anteriormente, muitos desses "passos" podem não ter sido feitos . (Claro, nós nunca saberemos.)

No entanto, a web conseguiu magnificamente apesar dessas coisas. E todo o crédito deve ir para as pessoas que fizeram isso acontecer. Quer sejam ou não amadores na época, eles definitivamente não são amadores agora.

    
por 24.03.2013 / 04:11
fonte
26

Parece ser devido a um desacordo fundamental entre Alan Kay versus as pessoas (principalmente Tim Berners-Lee) que projetaram a web, sobre como tal sistema deveria funcionar.

O navegador ideal, de acordo com Kay, deve ser realmente um mini-sistema operacional com apenas uma tarefa: executar com segurança o código baixado da Internet. No design de Kays, a web não consiste em páginas, mas em "objetos" de caixa preta que podem conter qualquer tipo de código (contanto que seja seguro). É por isso que ele diz que um navegador não deve ter recursos. Um navegador não precisaria dizer um analisador de HTML ou um mecanismo de renderização, já que tudo isso deveria ser implementado pelos objetos. Esta é também a razão pela qual ele não parece gostar de padrões. Se o conteúdo não for renderizado pelo navegador, mas pelo próprio objeto, não há necessidade de um padrão.

Obviamente, isso seria imensamente mais poderoso do que a web hoje, onde as páginas são limitadas pelos bugs e limitações dos navegadores atuais e dos padrões da web.

A filosofia de Tim Berners-Lee, o inventor da web, é quase exatamente o oposto. O documento " Princípio de menor poder " delineia os princípios de design subjacentes HTTP, HTML, URL etc. Ele aponta o benefício das limitações. Por exemplo, ter uma linguagem declarativa bem especificada, como HTML, é mais fácil de analisar, o que torna possíveis os mecanismos de pesquisa como o Google. A indexação não é realmente possível na web Kays de objetos black-box completos. Portanto, a falta de restrições nos objetos na verdade os torna muito menos úteis. Quão valiosos são objetos poderosos se você não consegue encontrá-los? E sem uma noção padrão de links e URLs, o algoritmo de classificação de páginas do Google não funcionava. E nem bookmarks para esse assunto. É claro que a web de caixa preta seria totalmente inacessível para usuários com deficiência também.

Outra questão é a produção de conteúdo. Agora temos várias ferramentas, mas desde o começo qualquer amador pode aprender a criar uma página html no bloco de notas. Isto é o que impulsionou a web e fez espalhar-se como um incêndio. Considere se a única maneira de fazer uma página da Web exigia que você começasse a programar seu próprio mecanismo de renderização? A barreira à entrada seria imensa.

Os applets Java e o Silverlight lembram, em certa medida, a visão do Kays. Ambos os sistemas são muito mais flexíveis e poderosos que a web (já que você poderia implementar um navegador neles), mas sofrem com os problemas descritos acima. E ambas as tecnologias estão basicamente mortas na água.

Tim Berners-Lee era um cientista da computação que tinha experiência com redes e sistemas de informação antes de inventar a web. Parece que Kay não entende as idéias por trás da web e, portanto, acredita que os designers são amadores sem conhecimento da história da computação. Mas Tim Berners-Lee certamente não era um amador.

    
por 27.03.2015 / 14:36
fonte
22

Eu li isso como Kay sendo pouco familiarizado com os protocolos de nível mais baixo para assumir que eles são significativamente mais limpos do que a web de nível superior. A era “projetada por profissionais” de que ele fala ainda apresentava grandes problemas de segurança (spoofing ainda é muito fácil), confiabilidade e desempenho, e é por isso que ainda há novos trabalhos sendo feitos, ajustando tudo para alta velocidade ou alta. links de perda de pacotes. Volte um pouco mais longe e nomes de host foram resolvidos procurando um arquivo de texto que as pessoas tinham que distribuir!

Ambos os sistemas são complexos sistemas heterogêneos e têm desafios significativos de compatibilidade com versões anteriores sempre que você deseja corrigir uma verruga. É fácil detectar problemas, é difícil consertá-los e, como a variedade de concorrentes que falharam, mostra que é surpreendentemente difícil criar algo equivalente sem passar pela mesma curva de aprendizado.

Como um biólogo pode dizer a um proponente de design inteligente, se você olhar para um deles e ver o design genial, não estará olhando bem de perto.

    
por 25.03.2013 / 13:23
fonte
9
Ah, sim, eu perguntei a Alan sobre essa questão várias vezes, por exemplo, quando ele estava em Potsdam e na correspondência do fonc lista . Aqui está uma citação mais recente da lista que, para mim, resumiu muito bem:

After literally decades of trying to add more and more features and not yet matching up to the software than ran on the machines the original browser was done on, they are slowly coming around to the idea that they should be safely executing programs written by others. It has only been in the last few years -- with Native Client in Chrome -- that really fast programs can be safely downloaded as executables without having to have permission of a SysAdmin.

Meu entendimento de suas várias respostas é que ele acha que os navegadores da Web não devem exibir documentos (HTML), possivelmente enriquecidos, mas simplesmente executar programas. Eu pessoalmente acho que ele está errado nisso, embora eu possa ver de onde ele vem. Nós já tínhamos esse tipo de coisa com ActiveX, Java Applets, Flash e agora "ricos" aplicativos JavaScript, e a experiência geralmente não era boa, e minha opinião pessoal é que mesmo agora a maioria dos sites pesados JavaScript são um passo atrás de um bom HTML sites, não uma parada para frente.

Teoricamente, é claro, tudo faz sentido: tentar adicionar interatividade pouco a pouco ao que é basicamente a linguagem de descrição do documento é inversa e semelhante a adicionar mais e mais epiciclos ao sistema ptolomaico, enquanto a resposta "certa" é descobrir esse texto (rico) é um caso especial de um programa e, portanto, devemos apenas enviar programas.

No entanto, dado o sucesso prático da WWW, eu acho que é sensato modificar nossas teorias ao invés de bater a WWW por ter a ousadia de não se conformar às nossas teorias.

    
por 25.03.2013 / 19:10
fonte
4

Você não pode realmente dizer que a Internet ou a Web foi inventada por amadores ou profissionais porque esses campos são absolutamente novos; Todas as pessoas eram amadores em protocolos de Internet antes de serem inventados, então, do ponto de vista dos inventores da Internet, também eram amadores.

Se fôssemos realmente críticos, a Internet não era tão boa, afinal: o IPv6 é necessário. E não é apenas sobre o espaço de endereços; O IPv6 tem um novo cabeçalho com menos campos e diferentes.

Outra grande diferença da Internet e da Web é como eles são percebidos pelo programador; um programador raramente interage com a Internet. Do ponto de vista dele em IP você tem endereços e em TCP você tem uma porta além disso e você está seguro que os pacotes são enviados. É sobre isso ... Enquanto na Web o programador tem uma interação mais intensa: métodos HTTP, cabeçalhos, HTML, URLs etc. É normal ver os limites de algo com muito mais possibilidades do que em algo com quase nenhuma possibilidade. Com isso eu não quero dizer que a Internet é simples: por trás disso é meio complexo, mas essa complexidade é tratada por engenheiros de rede e telecomunicações e é sobre configurar algo em uma quantidade limitada de possibilidades, enquanto na web você basicamente tem ilimitado possibilidades, mas a tarefa de construir aplicações complexas confiando apenas no envio de pacotes.

Em relação à grandeza dessas duas tecnologias, a Internet é tão apreciada porque é uma tecnologia muito escalável e a ideia de layering era muito boa; Basicamente, nos níveis mais baixos, você pode usar qualquer tecnologia que quiser (WLAN, Ethernet, Token Ring, etc.) e ter IP como um protocolo intermediário padrão no qual o TCP e o UDP são colocados e acima do qual você basicamente pode adicionar o protocolo de aplicativo desejado.

A grandeza da Web está estritamente relacionada à grandeza da Internet porque a Web confia strongmente na Internet, tendo a pilha TCP / IP por baixo. Mas eu diria que a Internet também depende da Web; a Internet existia 20 anos antes da Web e era meio anônima, mas 20 anos depois da Web, a Internet é onipresente e tudo isso graças à Web.

    
por 24.03.2013 / 10:10
fonte
4

Acho que ele estava apontando para algo menos obscuro - a TBL não sabia nada sobre o trabalho de hipertexto que havia ocorrido a partir dos anos 60, então esse trabalho não serviu para informar o design da web. Ele frequentemente fala de computação como cultura pop, onde os profissionais não conhecem sua história e continuamente "reinventam o pneu furado".

    
por 24.03.2013 / 21:57
fonte
4
A Internet funcionou notavelmente como um protótipo do conceito de comutação de pacotes descoberto por Baran, Pouzin e seus contemporâneos. Ao contrário da opinião popular, isso não significa que o IPv4 transmitido seja a arquitetura de protocolo perfeita, ou que o IPv6 seja o caminho a percorrer. John Day, que estava profundamente envolvido no desenvolvimento da ARPANET e da IP, explica isso em seu livro de 2008 Padrões de arquitetura de rede .

Quanto à Web, nas palavras de Richard Gabriel, "Pior é melhor". O relato de Tim Berners-Lee, Tecendo a Web , é decente. Como a Web nasceu por Gillies & Cailliau é mais densa e menos legível, mas tem muitos detalhes e algumas ligações fascinantes com outros eventos na computação pessoal na época. Eu não acho que Kay dá crédito suficiente.

    
por 25.03.2013 / 12:31
fonte
1

Eu não sei, alguma parte da Internet não-web tem algumas verrugas horríveis. O e-mail estava antes da web e é parte da internet, e o padrão é muito aberto e exige muitos hacks para resolver (mas não resolver) o problema do spam.

    
por 25.03.2013 / 14:03
fonte
0

"Amador" não se refere à falta de habilidades de programação, mas à falta de imaginação.

O problema subjacente à web de Tim Berners-Lee é que ela nunca foi construída para desenvolvedores . (Isso está em contraste com a web de Alan Kay.)

A web de Tim foi construída para não-programadores que publicariam diretamente na web diretamente usando arquivos contendo seus periódicos / artigos intercalados com a linguagem HT-markup: é como o WordPerfect e o MS-Word dos anos 80 , exceto que eles usariam " " em vez de clicar no ícone B , e o salvariam como um arquivo aberto ". htm "formato em vez de um formato proprietário" .doc ". A invenção aqui é a tag "

", que permite que esses periódicos / artigos estáticos sejam interligados globalmente.

E é isso, essa é toda a visão da Web feita por Tim: sua web é uma mera rodovia global de artigos estáticos interligados. Talvez se você tivesse o dinheiro, você pode comprar um editor como o Dreamweaver, Nexus , Publisher, Citydesk (? ), etc, que ajudará você a gerar todas as tags " ", clicando no ícone B .

.. E vemos como sua visão não funcionou como pretendido. De fato, há poderosas bandeiras vermelhas desde o começo de que o mundo queria muito mais do que a visão de Tim oferece:

  • Red flag 1: O rápido aumento do "smart CGI" (PHP).

  • Red flag 2: O rápido aumento do "smart HTML" (Javascript).

Hoje em dia, temos ainda mais bandeiras vermelhas como a ascensão do Chrome-OS-é-o-navegador-é-o-SO ( exatamente que Alan Kay pretendia que o navegador fosse ) e WASM / browser-extensions.

Em contraste com a web de Tim, a web de Alan Kay, por outro lado, é uma web dinâmica construída para programadores: uma rodovia global de programas dinâmicos interligados. Os não-programadores que precisam de uma "página" simplesmente publicam um usando um programa na web . (E o programa em si foi obviamente escrito por programadores, não por HTML-dabblers).

.. Este é exatamente o status-quo da web de Tim nos anos 2000, mas se tivéssemos a web de Alan, isso teria sido feito nos anos 90: em vez de o mundo ter "wordpress and friendster" apenas nos anos 2000, em vez disso, teremos os mesmos quando a web começou nos anos 90.

.. Da mesma forma, em vez de ter programas como o Steam, Visual Studio, Warcraft, VM Ware na web na década de 2040, vamos tê-los agora mesmo na década de 2010. (O atraso de várias décadas é devido a esses programas terem sido construídos para o sistema operacional não ser o navegador, reduzindo assim o incentivo econômico para que eles sejam reconstruídos no OS-is- o navegador é o SO.)

Então isso é o que as pessoas querem dizer quando dizem que Tim Berners-Lee matou a True Dynamic Web, empurrando sua "teia estática e surrada" para o mundo. Já ouviu falar dos termos "web 2.0", "web 3.0"? Eles simplesmente teriam sido chamados de "A Web" se tivéssemos a web de Alan em vez da web de Tim. Mas a Web de Tim precisa de revisão constante porque é tão estático .

Obviamente, toda a esperança não está perdida, já que a Web pode ser remodelada, como quer que os fornecedores de navegadores definam. Mas o ponto é que todas essas coisas "inovadoras" que eles estão "inventando" na web agora são coisas que já foram inventadas há muito tempo. Nós já poderíamos ter tudo hoje, não amanhã.

    
por 12.04.2017 / 03:28
fonte