Palestra de Alan Kay na UCLA – Fev 2024 [vídeo]
A palestra de Alan Kay na UCLA em fevereiro de 2024 desperta novo interesse por seu trabalho de décadas em Smalltalk, interfaces de usuário, educação e a ainda não realizada “revolução do computador”, com comentaristas compartilhando extensos apontamentos para suas palestras, artigos e projetos de pesquisa relacionados como STEPS e Dynamicland. Muitos enfatizam suas ideias sobre ambientes de computação vivos e totalmente maleáveis — em contraste com os sistemas estáticos e centrados em aplicativos de hoje — e lamentam que os sistemas operacionais convencionais nunca tenham adotado tais paradigmas. Outros debatem por que Smalltalk e abordagens semelhantes não ganharam uso generalizado, como tendências mais recentes como LLMs, métodos formais e programação funcional se encaixam em sua visão, e como seria um meio computacional verdadeiramente amplificador do humano.
Palestras, artigos e livros recomendados
- Vários links para listas abrangentes de palestras, artigos e listas de leitura foram compartilhados, incluindo “menus” curados de palestras de Kay e artigos do Viewpoints Research Institute.
- Favoritos específicos: “The Computer Revolution Hasn’t Happened Yet”, “Normal Considered Harmful”, “Back to the Future of Software Development”, palestras sobre simplicidade e palestras focadas em educação (incluindo uma audiência de 1995 na Câmara dos EUA com Papert).
- Escritos altamente recomendados incluem a “Early History of Smalltalk”, com um comentarista preferindo um artigo de Ingalls por ser menos autopromocional.
- Livros sobre a história da PARC foram discutidos; um foi visto como “o único livro preciso e bom”, outro ainda considerado valioso, mas um tanto confuso.
Reflexões sobre as ideias de Kay e esta palestra
- Reações fortemente positivas ao enquadramento da computação como um “palco compartilhado” para refletir e amplificar a inteligência humana.
- Vários destacam sua crítica à escolarização e à tendência humana de acreditar em vez de pensar; alguns expressam frustração de que essas ideias sejam mal recebidas em fóruns online típicos.
- Uma pessoa observa que seguidores de longa data podem achar esta palestra repetitiva; outros dizem que isso os fez querer assistir compulsivamente a mais.
Sistemas vivos, Smalltalk e sistemas operacionais
- Desejo por um SO “vivo até o fundo”, onde tudo possa ser inspecionado e editado em tempo de execução; sistemas convencionais atuais são vistos como estáticos e fechados.
- Smalltalk, Pharo, Emacs e vários ambientes de programação ao vivo são citados como realizações parciais dessa visão.
- Alguns descrevem projetos reais em que Smalltalk foi usado até perto do nível de hardware; outros discutem reaproveitar Pharo ou construir novos SOs vivos.
- Há lamento pelo desaparecimento ou pela dificuldade de acesso a artefatos de projetos relacionados a Kay como STEPS e Frank, embora algumas pessoas ainda tenham código em execução.
Linguagem natural, LLMs e interação humano-computador
- Um fio argumenta que a peça-chave ausente para usuários finais é uma linguagem de primeira classe para conversar com o SO; as GUIs de hoje são comparadas a animais apertando botões predefinidos.
- Contra-argumentos ressaltam que a linguagem natural é ambígua, otimizada para relações humanas e pouco adequada a computação precisa e específica para tarefas.
- Outros respondem que sistemas mais novos (LLMs) podem, em princípio, absorver a ambiguidade e que a “engenharia de prompts” existe precisamente por causa dessa tensão.
- Há uma divisão entre os que acham que LLMs poderiam viabilizar interfaces dinâmicas, no estilo de Kay, em tempo de necessidade, e os que suspeitam que ele ficaria pouco impressionado ou preocupado.
Smalltalk, POO e paradigmas alternativos
- Uma visão crítica: nenhum sistema amplamente usado é escrito em Smalltalk por “boas razões”; orientação a objetos é apenas uma ferramenta organizacional entre muitas.
- Outros respondem que o trabalho posterior liderado por Kay explorou explicitamente paradigmas não-OO (linguagens de arrays, computação espacialmente replicada, espaços de tuplas, comunidades solucionadoras).
- Métodos formais, programação funcional, sistemas de tipos estáticos e ferramentas modernas de verificação são citados como avanços importantes que vão além da POO clássica.
- A influência de Smalltalk é rastreada em outras linguagens e ferramentas (Objective-C, Ruby, ferramentas da era Java), e linguagens mais novas parecidas com Smalltalk são mencionadas.
Ferramentas relacionadas, demos e sistemas históricos
- Forte interesse no emulador Sketchpad mostrado na palestra; vários links para código-fonte, demos ao vivo e a tese original de Sutherland são fornecidos.
- Emacs é analisado como um ambiente “vivo” inicial e profundamente extensível, com ênfase em seu design para modificação em tempo de execução, hooks e empoderamento do usuário.
- DynamicLand e projetos mais novos inspirados por Kay/Engelbart são mencionados; são esperados grandes lançamentos futuros de materiais de pesquisa (mas não fica claro se incluem código-fonte).
Meta e comentários da comunidade
- Alguns lamentam a “energia negativa” da discussão online típica e seu impacto em projetos ambiciosos.
- Outros lembram com nostalgia o otimismo da internet inicial, contrastando-o com a web atual comercializada e polarizada, ao mesmo tempo em que observam que comunicação de baixa qualidade sempre foi comum offline também.