Alan Kay e Marvin Minsky: A Ciência da Computação já tem uma “gramática”. Precisa de "literatura"

Alan Kay e Marvin Minsky: A Ciência da Computação já tem uma “gramática”. Precisa de "literatura"

O primeiro da esquerda é Marvin Minsky, o segundo da esquerda é Alan Kay, depois John Perry Barlow e Gloria Minsky.

Pergunta: Como você interpretaria a ideia de Marvin Minsky de que “A Ciência da Computação já tem uma gramática. O que ela precisa é de literatura.”?

Alan Kay: O aspecto mais interessante da gravação blog do Ken (incluindo comentários) é que nenhuma referência histórica a esta ideia pode ser encontrada em lugar nenhum. Na verdade, há mais de 50 anos, na década de 60, falava-se muito sobre isto e, se bem me lembro, vários artigos.

Ouvi falar dessa ideia pela primeira vez por Bob Barton, em 1967, na pós-graduação, quando ele me disse que essa ideia fazia parte da motivação de Donald Knuth quando escreveu The Art of Programming, cujos capítulos já circulavam. Uma das principais questões de Bob era sobre "linguagens de programação projetadas para serem lidas tanto por humanos quanto por máquinas". E essa foi a principal motivação para partes do design COBOL no início dos anos 60. E, talvez mais importante no contexto do nosso tópico, essa ideia é vista na linguagem interativa JOSS, muito antiga e bem projetada (principalmente Cliff Shaw).

Como observou Frank Smith, a literatura começa com ideias que valem a pena discutir e anotar; muitas vezes gera representações parcialmente e amplia linguagens e formas existentes; leva a novas ideias sobre leitura e escrita; e, finalmente, a novas ideias que não faziam parte do motivo original.

Parte da ideia de “literaturização” é ler, escrever e consultar outros artigos que possam ser de seu interesse. Por exemplo, a palestra do Prêmio Turing de Marvin Minsky começa com: “O problema da Ciência da Computação hoje é a preocupação obsessiva com a forma e não com o conteúdo.”.

O que ele quis dizer foi que o mais importante na computação é o significado e como ele pode ser visto e representado, em oposição a um dos grandes temas dos anos 60 sobre como analisar a programação e as linguagens naturais. Para ele, o mais interessante na tese do aluno de mestrado Terry Winograd pode ser que, embora não fosse muito correta em termos de gramática inglesa (era muito boa), ela conseguia dar sentido ao que era dito e justificar o que era disse usando esse valor. (Isso é um retrocesso ao que Ken relata no blog de Marvin).

Uma maneira paralela de encarar a “aprendizagem onipresente de línguas”. Muita coisa pode ser feita sem alterar o idioma ou mesmo adicionar um dicionário. Isso é semelhante a como é muito fácil escrever uma fórmula com símbolos matemáticos e sintaxe. Em parte, é a isso que Marvin quer chegar. É engraçado que a máquina de Turing no livro Computation: Finite and Infinite Machines de Marvin (um dos meus livros favoritos) seja um computador bastante típico com duas instruções (adicionar 1 ao registrador e subtrair 1 do registrador e ramificar para a nova instrução se o registrador for menor que 0 - existem muitas opções.)

É uma linguagem de programação comum, mas esteja ciente das armadilhas. Uma solução razoável para o “aprendido universalmente” também teria que ter certos tipos de poder expressivo que provavelmente exigiriam mais tempo para aprender.

O interesse de Don na chamada "programação alfabetizada" levou à criação de um sistema de autoria (historicamente chamado de WEB) que permitiria a Don explicar o próprio programa que estava sendo escrito e que incluía muitos recursos que permitiam que partes do programa fossem extraído para estudo humano. A ideia era que um documento WEB fosse um programa e o compilador pudesse extrair dele as partes compiladas e executáveis.

Outra inovação inicial foi a ideia de mídia dinâmica, que era uma ideia popular no final dos anos 60 e, para muitos de nós, era uma parte importante da computação interativa em PC. Um dos vários motivos para esta ideia era ter algo como os "Princípios de Newton", nos quais a "matemática" fosse dinâmica e pudesse ser executada e vinculada a gráficos, etc. Isso foi parte do motivo para promover a ideia do Dynabook no ano 1968. Um dos termos que começaram a ser usados ​​foi “ensaio ativo”, onde os tipos de redação e argumentação que se esperaria de um ensaio são aprimorados pelo fato de o programa interativo ser um dos muitos tipos de mídia para um novo tipo de documento.

Alguns exemplos muito bons foram feitos no Hypercard pelo próprio Ted Cuyler no final dos anos 80 e início dos anos 90. O Hypercard não foi configurado diretamente para isso - os scripts não eram objetos de mídia para cartões, mas você poderia fazer algum trabalho e fazer com que os scripts fossem exibidos nos cartões e os tornassem interativos. Um exemplo particularmente provocativo foi "Weasel", que era um ensaio ativo que explicava parte do livro Blind Watchmaker, de Richard Dawkins, permitindo ao leitor experimentar uma estrutura que usava uma espécie de processo de reprodução para encontrar frases-alvo.

Vale a pena considerar que, embora o Hypercard se adaptasse quase perfeitamente à Internet emergente – e à sua ampla adoção no início dos anos 90 – as pessoas que criaram a Internet optaram por não adotá-lo ou às ideias anteriores mais amplas de Engelbart. E a Apple, que tinha muitas pessoas da ARPA/Parc em sua ala de pesquisa, recusou-se a ouvi-los sobre a importância da Internet e como o Hypercard seria ótimo para iniciar um sistema simétrico de leitura e gravação. A Apple recusou-se a fabricar um navegador numa época em que um navegador realmente bom teria sido um desenvolvimento significativo e pode ter desempenhado um papel importante na forma como a "face pública" da Internet se tornou.

Se avançarmos alguns anos, descobriremos o absurdo absoluto - quase obsceno até - de um navegador sem nenhum sistema de desenvolvimento real (pense em como o desenvolvimento estúpido de wiki deveria funcionar), e como um dos muitos exemplos simples, um artigo da Wikipedia como LOGO, que funciona em um computador, mas não permite que o leitor do artigo tente programar o LOGO a partir do artigo. Isso significou que o que era importante para os computadores foi bloqueado aos usuários em defesa de diferentes implementações de mídias antigas.

Vale a pena considerar que a Wikipédia tem sido e é o gênero principal para pensar, inventar, implementar e escrever a “literatura de computação” necessária (e isso certamente envolve tanto a leitura quanto a escrita em muitas formas de multimídia, incluindo programação).

O que vale ainda mais a pena pensar é que não posso escrever um programa aqui nesta resposta do Quora - em 2017! - isso ajudará a mostrar exatamente o que estou tentando explicar, apesar do enorme poder computacional subjacente a essa ideia fraca de mídia interativa. A questão importante é “o que aconteceu?” é completamente esquecido aqui.

Para se ter uma ideia do problema, aqui está um sistema de 1978 que ressuscitamos em parte há alguns anos como uma homenagem a Ted Nelson e em parte por diversão.

(Por favor, assista aqui às 2:15)


Todo o sistema é uma tentativa inicial daquilo de que estou falando há mais de 40 anos.

Um excelente exemplo pode ser visto às 9h06.


Além dos “objetos dinâmicos”, uma das principais considerações aqui é que as “visualizações” – a mídia visível na página – podem ser processadas de maneira uniforme e independente de seu conteúdo (nós as chamamos de “modelos”). Tudo é uma “janela” (algumas têm fronteiras explícitas e outras não mostram as suas fronteiras). Todos eles são compilados na página do projeto. Outro insight foi que, como você precisa compor e combinar algumas coisas, certifique-se de que tudo seja combinável e composicional.

Acho que usuários não sofisticados podem ser perdoados por não serem capazes de criticar projetos ruins. Mas os programadores que criam mídia interativa para os usuários e que não se importam em aprender sobre mídia e design, especialmente a partir da história de sua própria área, não deveriam se safar tão facilmente e não deveriam ser recompensados ​​por isso. eles são “mais fracos”.

Finalmente, um campo sem literatura real é quase equivalente ao facto de o campo não ser um campo. A literatura é uma forma de preservar grandes ideias num novo género e no pensamento presente e futuro nesse campo. Isto, é claro, não está presente nos cálculos de forma útil. Tal como a cultura pop, a computação ainda está mais interessada no que pode ser feito sem formação extensiva e onde a execução é mais importante do que as consequências dos resultados. A literatura é um dos meios onde se pode passar do simples e imediato ao maior e mais importante.

Nos precisamos disto!

Sobre GoTo School

Alan Kay e Marvin Minsky: A Ciência da Computação já tem uma “gramática”. Precisa de "literatura"

Fonte: habr.com

Adicionar um comentário