Filosofia de Engenharia: Alan Kay, A Grande Ideia É a Troca de Mensagens

Pontos principais
- A grande ideia é a troca de mensagens, não os objetos. Kay se arrependeu de ter cunhado o termo “objetos” porque ele faz as pessoas se concentrarem em classes e herança – a ideia menor. O que importa são coisas independentes que enviam mensagens umas às outras e deixam o receptor decidir o que uma mensagem significa.
- Uma mudança de ponto de vista vale 80 pontos de QI. Você não vence um problema difícil pensando mais dentro do enquadramento errado; você encontra o enquadramento em que ele se torna fácil. A troca de mensagens foi esse movimento para o software.
- O Dynabook reformulou a computação como um meio para o pensamento, não uma ferramenta para tarefas – o laptop e o tablet esboçados em 1972, a serviço de permitir que uma pessoa pensasse pensamentos que antes não conseguia pensar.
- A vinculação tardia (late binding) é o que garante a independência. Como o remetente não sabe como o receptor vai responder, as partes podem mudar sem quebrar umas às outras – que é exatamente como um sistema cresce além do que uma única mente consegue abarcar.
O princípio
“Lamento ter cunhado há muito tempo o termo ‘objetos’ para este assunto, porque ele leva muita gente a se concentrar na ideia menor. A grande ideia é a ‘troca de mensagens’.” – Alan Kay1
Ele cunhou o termo, ganhou o Prêmio Turing em grande parte por causa dele, e então passou décadas dizendo às pessoas que elas o tinham lido errado. A palavra objeto faz os engenheiros pensarem em classes, herança e nos substantivos do seu modelo de dados – a mobília dentro da caixa. O argumento de Kay é que a mobília é a ideia menor. O que importa é a caixa e as mensagens entre caixas: coisas independentes que guardam seu próprio estado privado e interagem apenas enviando mensagens umas às outras, onde o receptor, e não o remetente, decide o que uma mensagem significa.1 Isso é a vinculação tardia elevada a uma filosofia. O remetente não enfia a mão dentro e opera a maquinaria; ele pergunta, e confia que a coisa saberá como responder.
A razão pela qual essa é a grande ideia é que é assim que você constrói algo grande demais para caber na sua cabeça. A metáfora recorrente de Kay é biológica: um sistema grande deve ser cultivado como um corpo, a partir de milhões de células, cada uma um computador completo que protege seu próprio estado e fala com suas vizinhas apenas por meio de mensagens.2 Nenhuma célula enfia a mão na química de outra célula. O organismo inteiro é robusto porque as partes são independentes e o único acoplamento são as mensagens que elas trocam. A programação orientada a objetos, feita do jeito que Kay quis dizer, não é uma maneira de organizar dados – é uma maneira de fazer um sistema a partir de muitas coisas pequenas que negociam, de modo que nenhuma peça isolada precise compreender o todo.
O movimento mais profundo por baixo de tudo isso é uma postura diante dos problemas, não diante do código. Uma mudança de ponto de vista vale 80 pontos de QI, Kay gostava de dizer.3 Você não vence um problema difícil sendo mais inteligente dentro do enquadramento errado; você encontra o enquadramento em que o problema é fácil. A troca de mensagens é um desses enquadramentos. O computador pessoal foi outro. A convicção de que a perspectiva certa supera a esperteza bruta é a mesma convicção por baixo do argumento de que o gosto é um sistema técnico que se pode examinar em vez de uma intuição que se afirma – a estrutura que você escolhe para enxergar um problema é o trabalho.
Contexto
Alan Curtis Kay nasceu em 17 de maio de 1940, em Springfield, Massachusetts.4 Ele chegou à computação tarde e por vias tortas – um guitarrista de jazz e uma criança que lia vorazmente, que serviu na Força Aérea, onde um teste de aptidão o puxou para a programação, antes de concluir um diploma em matemática e biologia molecular no Colorado.4 A biologia importou. A metáfora da célula-como-computador que organizaria toda a sua teoria do software veio dali, não de nenhuma tradição de programação.
Ele chegou ao programa de ciência da computação financiado pela ARPA na Universidade de Utah em meados da década de 1960, onde seu orientador de doutorado foi Dave Evans e o corpo docente ao redor incluía Ivan Sutherland.4 Em mais ou menos seu primeiro dia, Evans lhe entregou para ler a tese de 1963 Sketchpad, de Sutherland. O Sketchpad permitia que um usuário desenhasse diretamente numa tela com uma caneta óptica e – crucialmente – tinha masters e instâncias: você definia uma forma uma vez e estampava cópias que herdavam dela. Kay credita aquela tese, junto com a linguagem Simula que encontrou logo em seguida, como a semente do seu pensamento sobre objetos.4 Ele também assistiu à “Mãe de Todas as Demos” de Douglas Engelbart, em 1968, a demonstração ao vivo do mouse, do hipertexto e da computação interativa, que ele mais tarde chamou de uma das grandes experiências da sua vida.4 Seu trabalho de doutorado de 1969, a máquina e linguagem FLEX, foi uma tentativa inicial de construir um computador pessoal e interativo em torno dessas ideias.4
Em 1970 ele entrou para o recém-formado Xerox Palo Alto Research Center e recebeu a direção do Learning Research Group.4 O PARC nos anos 1970 era o raro lugar onde um pesquisador podia perseguir uma visão de vinte anos com um orçamento corporativo. Kay tinha uma: não um mainframe mais rápido, não um terminal melhor, mas um computador pessoal que uma criança pudesse usar como um meio para o pensamento. Tudo o que ele construiu no PARC – Smalltalk, a interface de janelas, a própria ideia do laptop – foi uma tentativa de realizar aquela única imagem.
O trabalho
Smalltalk e a troca de mensagens: o que a OOP realmente significava
No PARC, Kay e seu grupo – centralmente Dan Ingalls, que fez as implementações fundamentais, e Adele Goldberg, que construiu boa parte do sistema e da documentação ao redor – criaram o Smalltalk, uma das primeiras linguagens de programação totalmente orientadas a objetos e dinâmicas.45 No Smalltalk, tudo é um objeto, e a única coisa que os objetos fazem é enviar mensagens uns aos outros. Não há operadores que enfiem a mão no estado de outro objeto; até a aritmética é uma mensagem enviada a um número. O sistema é dinamicamente tipado e tem vinculação extremamente tardia: o que uma mensagem faz é resolvido pelo receptor no momento em que ela chega, não fixado de antemão pelo remetente.5 Essa resolução tardia é o que permitia que uma imagem Smalltalk em execução fosse editada enquanto rodava – a linguagem e seu ambiente eram a mesma coisa viva.
Kay mais tarde destilou sua verdadeira definição de programação orientada a objetos em três requisitos: a troca de mensagens; a retenção, proteção e ocultação locais do estado-processo dentro de cada objeto; e a vinculação extremamente tardia de todas as coisas.1 Repare no que não está na lista: classes, herança, tipos. Essas são conveniências de implementação. Os pontos inegociáveis são que o estado é privado e que tudo é decidido o mais tarde possível. Quando ele disse que tinha inventado o termo “orientado a objetos” e que “não tinha o C++ em mente”, era isso que ele queria dizer – uma linguagem pode ter classes e herança e ainda assim perder completamente o ponto se permitir que um objeto enfie a mão nas entranhas de outro.6
A razão pela qual a troca de mensagens é a ideia que sustenta tudo, e não os objetos, é que a troca de mensagens é o que torna a independência real. Se o remetente conhecesse as entranhas do receptor, os dois ficariam soldados e você estaria de volta a um único programa grande e emaranhado. Como o remetente apenas envia uma mensagem e o receptor decide como responder, você pode trocar, estender ou fazer crescer o receptor sem tocar no remetente. Essa é a mesma propriedade que permite a um corpo curar uma ferida ou a uma rede contornar um nó morto. Kay queria que o software escalasse do jeito que a biologia escala, e a biologia escala por mensagens entre células protegidas, nunca por entranhas compartilhadas.
O Dynabook: a computação como um meio

Em 1972 Kay escreveu “A Personal Computer for Children of All Ages”, apresentado na ACM National Conference em Boston, e nele descreveu o Dynabook: um computador pessoal portátil, do tamanho de um caderno, com uma tela plana, capaz de guardar a biblioteca inteira de uma criança, música, desenhos e programas, que um indivíduo possuiria e usaria a qualquer hora, em qualquer lugar.7 Ele o esboçou como uma lousa fina mais ou menos do tamanho de um caderno e argumentou que ele poderia, em princípio, ser construído com a tecnologia da época e vendido barato.7 Nenhuma máquina assim existia. O computador pessoal não existia. Ele estava descrevendo o laptop e o tablet em 1972.
Mas o Dynabook nunca foi realmente sobre o hardware. Era sobre para que servia a computação. O enquadramento de Kay – extraído das teorias da aprendizagem de Jerome Bruner e do trabalho de Seymour Papert com o Logo – era que o computador é um novo meio, como a escrita ou a imprensa, e o objetivo de um meio é permitir que os humanos pensem pensamentos que antes não conseguiam pensar.47 Um livro você só pode ler; um Dynabook você pode autorar e simular. Uma criança deveria ser capaz de construir um modelo dinâmico de uma ideia e vê-lo rodar. É por isso que ele tinha de ser pessoal, portátil e próprio: um meio para o pensamento tem de estar sempre à mão, do jeito que um caderno está, ou não é um meio coisa nenhuma. Tudo o que Kay construiu foi consequência de tratar o computador como um meio em vez de uma ferramenta.
A GUI do PARC e “inventar o futuro”

O Dynabook precisava de uma interface que uma criança pudesse usar, então o grupo de Kay construiu uma. A interface gráfica de usuário de janelas sobrepostas – janelas que se empilham como papéis sobre uma mesa, com um mouse para apontar e trazer uma delas para a frente – foi desenvolvida no seu Learning Research Group no PARC e rodava no Xerox Alto, a máquina que o grupo chamava de “o Dynabook provisório”.48 Toda área de trabalho que você já usou descende daquele trabalho. Em dezembro de 1979, Steve Jobs e um grupo de engenheiros da Apple visitaram o PARC e viram o Alto rodando o Smalltalk: a tela bitmapped, o mouse, as janelas sobrepostas.8 Aquelas ideias foram para o Lisa e depois para o Macintosh, e dali para o Windows e para a corrente principal da computação.8 A interface que o mundo inteiro hoje usa foi construída para servir a uma visão de crianças autorando em um novo meio.
O lema que animava aquele trabalho é a frase mais citada de Kay: “A melhor maneira de prever o futuro é inventá-lo.” Ele disse que ela surgiu numa reunião do PARC no início de 1971 entre os pesquisadores e os planejadores da Xerox – “num acesso de paixão soltei a frase” – quando os planejadores queriam previsões e a resposta de Kay foi que você não prevê um futuro que pretende construir.9 O PARC foi aquela frase tornada operacional: em vez de perguntar o que os computadores se tornariam, o grupo de Kay decidiu o que os computadores deveriam se tornar e então passou uma década construindo isso. O futuro da computação pessoal não foi previsto no PARC. Foi inventado lá, de propósito.
A revolução do computador ainda não aconteceu
Em 1997 Kay deu uma palestra principal na OOPSLA intitulada “The Computer Revolution Hasn’t Happened Yet”, e ela é o contrapeso necessário à história triunfal.10 Seu argumento era que a indústria tinha pegado os artefatos da visão do PARC – janelas, o mouse, a máquina pessoal – e perdido a ideia. A computação pessoal, ele disse, tinha se tornado em grande parte a automação do papel: documentos digitais, correio digital, arquivos digitais, simulando o velho meio em vez de se tornar genuinamente um novo. A revolução de que ele falava – o computador como um meio que amplifica o pensamento humano, que pessoas comuns programam do jeito que escrevem – não tinha chegado. A metáfora da área de trabalho tinha vencido; a ideia do Dynabook, não.
O abismo entre artefato e ideia se tornou a crítica tardia da sua vida. Por meio do Viewpoints Research Institute, que ele fundou em 2001, Kay reagiu duramente contra o inchaço do software moderno: dezenas de milhões de linhas de código para fazer o que ele argumentava poder ser feito numa fração minúscula disso, se o sistema fosse cultivado a partir de partes limpas que trocam mensagens em vez de acumulado a partir de bibliotecas que ninguém entende por inteiro.411 Seu projeto “STEPS” tentou reconstruir um sistema inteiro de computação pessoal – sistema operacional, aplicativos e tudo o mais – em mais ou menos vinte mil linhas, como uma prova de existência de que o inchaço é uma escolha, não uma necessidade.11 A convicção da troca de mensagens atravessa direto até a queixa: um sistema que você não consegue compreender é um sistema cujas partes não eram propriamente independentes. O inchaço é o que acontece quando as fronteiras vazam.
O método
O método é consistente ao longo de cinquenta anos – uma linguagem, uma máquina, uma interface e uma crítica.
Encontre o ponto de vista que torna o problema fácil. O primeiro movimento de Kay nunca é atacar um problema de frente, mas mudar o enquadramento em que ele se encontra. Troca de mensagens em vez de procedimentos; um meio em vez de uma ferramenta; células em vez de código. A frase dos 80 pontos de QI é o método enunciado como um slogan: a alavancagem está na perspectiva, não no esforço.3
Construa a partir de coisas independentes que trocam mensagens, não de procedimentos que chamam. A unidade de construção é um objeto que protege seu próprio estado e expõe apenas mensagens. Você faz crescer um sistema grande do jeito que a biologia faz crescer um organismo – compondo muitas partes pequenas, independentes, que trocam mensagens – de modo que nenhuma peça dependa das entranhas de outra.12
Vincule o mais tarde possível. Decida as coisas no último momento responsável. A vinculação tardia é o que mantém o sistema maleável o bastante para mudar enquanto roda e mantém os remetentes ignorantes das entranhas dos receptores. A vinculação precoce compra velocidade e abre mão da independência que permite a um sistema crescer.1
Trate o computador como um meio para o pensamento humano. O padrão do Dynabook não é “o que esta ferramenta pode fazer por uma tarefa?”, mas “o que uma pessoa pode agora pensar, fazer e simular que antes não conseguia?”. A pergunta reformula todo o empreendimento, da automação rumo à amplificação.7
Invente o futuro em vez de prevê-lo. Quando lhe pedirem uma previsão, decida em vez disso. A disciplina do PARC era escolher o mundo que você queria e construí-lo, na convicção de que uma visão perseguida por uma década supera qualquer previsão.9
Cadeia de influência
Quem o moldou
Ivan Sutherland e o Sketchpad. A tese de 1963 que Dave Evans entregou a Kay na sua chegada – com seus masters e instâncias, sua manipulação direta numa tela – é a semente documentada do seu pensamento sobre objetos e gráficos interativos.4 (Influência direta)
O Simula e a ideia de objeto. A linguagem Simula deu a Kay a noção concreta de objetos agrupando estado com comportamento, que ele então radicalizou em “tudo é um objeto, conversando por mensagens”.4 (Influência direta)
Seymour Papert e o Logo, via Piaget. O trabalho de Papert sobre crianças programando – e a psicologia do desenvolvimento de Piaget e Bruner por trás dele – deu a Kay a convicção de que o verdadeiro público da computação eram os aprendizes e seu verdadeiro propósito era um meio para o pensamento, não o processamento de dados. O Dynabook é a ambição do Logo em forma portátil.47 (Influência formativa)
A biologia. A formação de Kay em biologia molecular forneceu a metáfora-mestra: a célula como um computador completo, que se autoprotege, e o organismo como milhões delas trocando mensagens. A orientação a objetos, para ele, é o software tentando ser biologia.2 (Influência formativa)
Quem ele moldou
Toda linguagem orientada a objetos. O modelo do Smalltalk – objetos, envios de mensagem, despacho dinâmico – segue diretamente para o Objective-C, Ruby e Java, e seu vocabulário é hoje a mobília padrão da programação. Mesmo as linguagens que ignoraram seu alerta sobre a troca de mensagens herdaram o termo que ele cunhou.56
A interface gráfica de usuário, e através dela o Mac e o Windows. A GUI de janelas sobrepostas do seu grupo no PARC, mostrada a Jobs em 1979 no Alto, virou o Lisa, o Macintosh e então a interface de essencialmente todo computador pessoal desde então.8
O laptop e o tablet. O Dynabook descreveu, em 1972, o computador pessoal portátil que o mundo inteiro hoje carrega. A máquina sobre a sua mesa e a lousa na sua bolsa são ambas, em linhas gerais, a coisa que Kay esboçou.7
O fio condutor
Barbara Liskov fez da abstração de dados uma primitiva de programação – um tipo é o contrato que ele cumpre, e um subtipo deve honrar toda promessa que seu supertipo faz. Isso é a convicção da troca de mensagens de Kay enunciada como teoria de tipos: o que importa é o contrato entre objetos, não suas entranhas, e quem chama deve ser capaz de enviar uma mensagem e confiar na resposta sem nunca ler como ela é produzida. Onde Thompson e Ritchie construíram o Unix a partir de programas pequenos que “fazem uma coisa bem feita” e se compõem por meio de pipes limpos, Kay construiu sistemas a partir de objetos pequenos que fazem uma coisa e se compõem por meio de mensagens limpas – a mesma aposta de que um sistema grande deveria ser muitas coisas pequenas e independentes, acopladas apenas em suas interfaces. E Grace Hopper insistiu que o computador deveria encontrar os humanos na sua própria língua, movendo a tradução para dentro da máquina para que uma pessoa pudesse raciocinar em seus próprios termos; Kay levou isso ao limite com o Dynabook – o computador não meramente falando a língua do humano, mas se tornando um meio no qual o humano pensa. A linha então corre adiante até Steve Jobs, que entrou no PARC em 1979, viu a interface de Kay e a levou ao mundo. (Ponte da série)
O que eu tiro disto
A lição que eu guardo é que a parte mais difícil de qualquer sistema é escolher o enquadramento, e que o enquadramento vale mais do que a esperteza dentro dele. A frase dos 80 pontos de QI de Kay é a sentença mais útil de toda esta série, porque ela diz onde gastar seu esforço: não em insistir com mais força dentro de um modelo ruim, mas em encontrar o modelo no qual o problema se dissolve. A troca de mensagens foi esse movimento para o software. Tratar o computador como um meio foi esse movimento para a computação pessoal. A disciplina é seguir perguntando que ponto de vista torna isto fácil? antes de escrever uma linha. Esse é o mesmo padrão de a qualidade ser a única variável – a pergunta nunca é “consigo fazer o design errado funcionar com mais força?”, mas “será que encontrei o certo?”.
No mundo em que eu construo agora – agentes, laços de ferramentas, sistemas de IA – a verdadeira definição de orientação a objetos de Kay é a ideia que mais sustenta este site, e quase ninguém a nomeia. Um agente é um objeto de Kay: ele guarda estado privado, você não consegue ler suas entranhas, e você interage com ele apenas enviando-lhe uma mensagem e confiando que ele decidirá como responder. Um sistema multiagente é exatamente a visão biológica de Kay – muitos computadores independentes, cada um protegendo seu próprio contexto, crescendo rumo a algo maior por meio de mensagens, nunca enfiando a mão na memória uns dos outros. A razão inteira de isso funcionar, quando funciona, é a vinculação tardia: o remetente não sabe como o receptor vai responder, e essa ignorância é o recurso, porque é o que permite às partes mudarem de forma independente. Construir agentes bem é construir as células de Kay – e as falhas são sempre a mesma falha, uma fronteira que vazou. Essa convicção, de que os sistemas deveriam ser cultivados a partir de coisas pequenas que trocam mensagens em vez de montados a partir de partes que enfiam a mão umas nas outras, é o fio condutor de um esboço do Dynabook de 1972 até uma estrutura local de agentes de 2026, e é exatamente por isso que a barreira de evidências verifica a resposta de um componente, não suas entranhas.
Perguntas frequentes
Qual é a filosofia de engenharia de Alan Kay?
A convicção central de Kay é que um sistema grande demais para caber na sua cabeça precisa ser construído a partir de objetos independentes que protegem seu próprio estado privado e se comunicam apenas enviando mensagens – cultivado como um organismo biológico a partir de muitas células pequenas, nunca montado a partir de partes que enfiam a mão umas nas outras. Por baixo disso está uma postura diante dos problemas: uma mudança de ponto de vista vale mais do que a esperteza bruta, então o trabalho é encontrar o enquadramento em que um problema difícil se torna fácil. Ele aplicou isso à programação (Smalltalk), ao próprio computador (o Dynabook, o computador como um meio para o pensamento) e à indústria (sua crítica de que a verdadeira revolução do computador ainda não aconteceu).13710
O que Alan Kay quis dizer com “programação orientada a objetos” e “troca de mensagens”?
Kay cunhou o termo “orientado a objetos”, mas mais tarde disse que se arrependia dele porque faz as pessoas se concentrarem em objetos, classes e herança – “a ideia menor”. Sua verdadeira definição tem três partes: a troca de mensagens; a retenção, proteção e ocultação locais do estado de cada objeto; e a vinculação extremamente tardia de todas as coisas.1 A grande ideia é a troca de mensagens: os objetos nunca enfiam a mão nas entranhas uns dos outros; um remetente envia uma mensagem e o receptor decide o que ela significa no momento em que ela chega. Repare que classes e herança não estão na lista – uma linguagem pode ter ambas e ainda assim perder o ponto se permitir que um objeto opere sobre o estado privado de outro. A troca de mensagens é o que torna as partes genuinamente independentes, que é o que permite a um sistema grande crescer e mudar sem virar um emaranhado.16
O que foi o Dynabook?
O Dynabook foi o computador pessoal portátil que Kay descreveu em seu artigo de 1972 “A Personal Computer for Children of All Ages”, apresentado na ACM National Conference: uma máquina do tamanho de um caderno, de tela plana, que um indivíduo possuiria e usaria em qualquer lugar, guardando sua biblioteca, música, desenhos e programas.7 Nenhuma máquina assim existia; ele estava descrevendo o laptop e o tablet décadas antes. Mas seu verdadeiro ponto era conceitual – o computador como um novo meio para o pensamento humano, como a escrita ou a impressão, no qual uma pessoa (especialmente uma criança) poderia construir e rodar modelos dinâmicos de ideias, e não apenas consumir conteúdo. O Xerox Alto foi construído como “o Dynabook provisório”, e os laptops e tablets que carregamos hoje são a visão realizada em hardware.47
Por que Alan Kay ganhou o Prêmio Turing?
A ACM concedeu a Kay o Prêmio A.M. Turing de 2003 “por ter sido pioneiro em muitas das ideias na raiz das linguagens de programação orientadas a objetos contemporâneas, por ter liderado a equipe que desenvolveu o Smalltalk e por contribuições fundamentais à computação pessoal”.12 A citação captura ambas as metades do seu trabalho: a linguagem e o modelo de troca de mensagens que moldaram como o software é construído, e o trabalho do Dynabook e da interface gráfica do PARC que moldou o que é um computador pessoal. Ele foi a figura-chave por trás do Smalltalk, da GUI de janelas sobrepostas que Steve Jobs viu no PARC em 1979 e levou para dentro do Macintosh, e do próprio conceito do computador pessoal e portátil como um meio para o pensamento.48
Fontes
-
Alan Kay, e-mail para a lista de discussão dos desenvolvedores do Squeak, 10 de outubro de 1998, arquivado e amplamente citado em picostitch, “Alan Kay On Messaging.” “Lamento ter cunhado há muito tempo o termo ‘objetos’ para este assunto, porque ele leva muita gente a se concentrar na ideia menor. A grande ideia é a ‘troca de mensagens’…” A definição em três partes de OOP de Kay – “troca de mensagens, retenção e proteção e ocultação locais do estado-processo, e vinculação extremamente tardia de todas as coisas” – aparece numa resposta posterior (2003) sobre o mesmo tema, arquivada em Stefan Ram, “Dr. Alan Kay on the Meaning of ‘Object-Oriented Programming.’” Discussão: Hacker News. ↩↩↩↩↩↩↩↩
-
Alan Kay, sobre a metáfora biológica/celular para os objetos e o escalonamento do software como um organismo; ver suas lembranças em “The Early History of Smalltalk,” ACM SIGPLAN History of Programming Languages II (1993), e o enquadramento “milhões de células, cada uma um computador inteiro” resumido em seu verbete “Alan Kay” da Wikipedia. ↩↩↩
-
“Quote Origin: Point of View Is Worth 80 IQ Points,” Quote Investigator. Atribuída a Kay; primeira apresentação documentada em sua palestra no seminário Creative Think, 20 de julho de 1982 (gravada por Andy Hertzfeld), com aparições publicadas em 1984–1985. Variantes: “Point of view is worth 80 IQ points”, “A change in perspective is worth 80 IQ points”. Também reunida em Wikiquote. ↩↩↩
-
“Alan Kay,” Wikipedia. Nascido em 17 de maio de 1940, em Springfield, Massachusetts; PhD, Universidade de Utah, 1969, orientador David C. Evans (dissertação FLEX); o Sketchpad de Ivan Sutherland e o Simula como influências sobre seu pensamento de objetos; assistiu à “Mãe de Todas as Demos” de Engelbart em 1968; entrou para o Xerox PARC em 1970 liderando o Learning Research Group; Smalltalk com Dan Ingalls e Adele Goldberg; o Dynabook; a GUI de janelas sobrepostas e o Alto como “o Dynabook provisório”; cunhou “orientado a objetos”; fundou o Viewpoints Research Institute (2001). Ver também Britannica, “Alan Kay.” ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
“Smalltalk,” Wikipedia. Projetada no Xerox PARC; uma das primeiras linguagens totalmente orientadas a objetos e de tipagem dinâmica; tudo é um objeto, toda computação por troca de mensagens; imagem dinâmica, de vinculação tardia, viva. Implementação liderada por Dan Ingalls; documentação e trabalho de sistema por Adele Goldberg. ↩↩↩
-
Alan Kay, comentários da palestra principal na OOPSLA 1997, “Quando inventei o termo orientado a objetos, eu não tinha o C++ em mente”; ver “The Computer Revolution Hasn’t Happened Yet,” vídeo e transcrição arquivados, Internet Archive. ↩↩↩
-
Alan C. Kay, “A Personal Computer for Children of All Ages,” originalmente publicado em Proceedings of the ACM National Conference, Boston, agosto de 1972 (republicado pelo Viewpoints Research Institute). Descreve o Dynabook – um computador pessoal portátil, do tamanho de um caderno, como um meio para a aprendizagem – e se baseia em Bruner e Papert/Logo. Visão geral e a linhagem do “Dynabook provisório” até o Alto: “Dynabook,” Wikipedia. ↩↩↩↩↩↩↩↩↩
-
“History of the graphical user interface,” Wikipedia, e “Xerox Alto,” Wikipedia. A GUI de janelas sobrepostas desenvolvida no Learning Research Group de Kay no PARC; Steve Jobs e engenheiros da Apple viram o Alto rodando o Smalltalk-76 – tela bitmapped, mouse, janelas sobrepostas – em dezembro de 1979; as ideias fluíram para o Apple Lisa e o Macintosh. ↩↩↩↩↩
-
“Quote Origin: We Cannot Predict the Future, But We Can Invent It,” Quote Investigator. O próprio relato de Kay (e-mail de 1998) traça “A melhor maneira de prever o futuro é inventá-lo” até uma reunião do início de 1971 entre pesquisadores do PARC e planejadores da Xerox – “Num acesso de paixão soltei a frase!” Atribuição publicada mais antiga: InfoWorld, abril de 1982. ↩↩
-
Alan Kay, “The Computer Revolution Hasn’t Happened Yet,” palestra principal na OOPSLA 1997 (Internet Archive). Argumento de que a indústria adotou os artefatos da computação pessoal enquanto perdia a ideia – “automatizando o papel” em vez de construir um meio genuinamente novo. ↩↩
-
Viewpoints Research Institute, STEPS Toward Expressive Programming Systems – o projeto de reconstruir um sistema inteiro de computação pessoal (SO, aplicativos e tudo o mais) em mais ou menos 20.000 linhas de código como uma crítica ao inchaço do software. Relatório final da NSF arquivado em VPRI / Internet Archive (espelho worrydream). Contexto: Wikipedia, “Viewpoints Research Institute.” ↩↩
-
“A.M. Turing Award Laureates – Alan Kay,” Wikipedia (citação de 2003). “Por ter sido pioneiro em muitas das ideias na raiz das linguagens de programação orientadas a objetos contemporâneas, por ter liderado a equipe que desenvolveu o Smalltalk e por contribuições fundamentais à computação pessoal.” Página do laureado na ACM: amturing.acm.org/award_winners/kay_3972189.cfm. ↩