Charla de Alan Kay en UCLA – feb. de 2024 [video]

La charla de Alan Kay en UCLA de febrero de 2024 reaviva el interés por décadas de trabajo sobre Smalltalk, las interfaces de usuario, la educación y la aún no realizada “revolución de la computadora”, y los comentaristas comparten numerosos enlaces a sus charlas, artículos y proyectos de investigación relacionados como STEPS y Dynamicland. Muchos destacan sus ideas sobre entornos de computación vivos y totalmente moldeables, en contraste con los sistemas estáticos y centrados en aplicaciones de hoy, y lamentan que los sistemas operativos convencionales nunca adoptaran esos paradigmas. Otros debaten por qué Smalltalk y enfoques similares no lograron un uso generalizado, cómo tendencias más nuevas como los LLMs, los métodos formales y la programación funcional encajan en su visión, y cómo podría ser un medio de computación que amplifique realmente lo humano.

Charlas, artículos y libros recomendados

  • Se compartieron múltiples enlaces a listas completas de charlas, artículos y listas de lectura, incluidas “menús” seleccionados de charlas de Kay y artículos de Viewpoints Research Institute.
  • Favoritos concretos: “The Computer Revolution Hasn’t Happened Yet”, “Normal Considered Harmful”, “Back to the Future of Software Development”, charlas sobre simplicidad y charlas centradas en la educación (incluida una audiencia de 1995 en la Cámara de Representantes de EE. UU. con Papert).
  • Entre las lecturas muy recomendadas se incluye la “Early History of Smalltalk”, aunque un comentarista prefería un artículo de Ingalls por considerarlo menos autopromocional.
  • Se hablaron libros sobre la historia de PARC; uno fue visto como “el único libro correcto y bueno”, y otro seguía considerándose valioso, aunque algo confuso.

Reflexiones sobre las ideas de Kay y esta charla

  • Fuertes reacciones positivas ante la idea de la computación como un “escenario compartido” para reflejar y amplificar la inteligencia humana.
  • Varios destacan su crítica a la escolarización y a la tendencia humana a creer en lugar de pensar; algunos expresan frustración porque estas ideas reciben mala acogida en los foros en línea típicos.
  • Una persona señala que quienes lo han seguido durante mucho tiempo quizá encuentren la charla repetitiva; otras dicen que les dieron ganas de ver más sin parar.

Sistemas vivos, Smalltalk y sistemas operativos

  • Se desea un SO “vivo hasta el fondo” en el que todo sea inspeccionable y editable en tiempo de ejecución; los sistemas dominantes actuales se ven como estáticos y cerrados.
  • Smalltalk, Pharo, Emacs y varios entornos de programación en vivo se citan como realizaciones parciales de esta visión.
  • Algunos describen proyectos reales en los que Smalltalk se usó hasta un nivel cercano al hardware; otros hablan de reutilizar Pharo o de construir nuevos SO vivos.
  • Hay lamentaciones por la desaparición o la dificultad de acceder a artefactos de proyectos relacionados con Kay como STEPS y Frank, aunque algunas personas aún tienen código en funcionamiento.

Lenguaje natural, LLMs e interacción humano-computadora

  • Un hilo argumenta que la pieza clave que falta para los usuarios finales es un lenguaje de primera clase para hablar con el SO; las GUI actuales se comparan con animales que pulsan botones predefinidos.
  • Las contraargumentaciones subrayan que el lenguaje natural es ambiguo, está optimizado para las relaciones humanas y es poco adecuado para una computación precisa y específica de tareas.
  • Otros responden que los sistemas más nuevos (LLMs) pueden, en principio, absorber la ambigüedad y que existe el “prompt engineering” precisamente por esa tensión.
  • Hay división entre quienes piensan que los LLMs podrían habilitar interfaces dinámicas, creadas justo a tiempo, al estilo de Kay, y quienes sospechan que a él le habrían impresionado poco o le habrían preocupado.

Smalltalk, POO y paradigmas alternativos

  • Una visión crítica: ningún sistema ampliamente usado está escrito en Smalltalk por “razones sólidas”; la orientación a objetos es solo una herramienta organizativa entre muchas.
  • Otros responden que trabajos posteriores dirigidos por Kay exploraron explícitamente paradigmas no POO (lenguajes de arreglos, computación replicada espacialmente, espacios de tuplas, comunidades de solucionadores).
  • Se citan como avances importantes que van más allá de la POO clásica los métodos formales, la programación funcional, los sistemas de tipos estáticos y las herramientas modernas de verificación.
  • La influencia de Smalltalk se rastrea en otros lenguajes y herramientas (Objective-C, Ruby, herramientas de la era Java), y se mencionan lenguajes más recientes parecidos a Smalltalk.

Herramientas, demos y sistemas históricos relacionados

  • Gran interés por el emulador de Sketchpad mostrado en la charla; se proporcionan varios enlaces al código fuente, demos en vivo y la tesis original de Sutherland.
  • Emacs se analiza como un entorno “vivo” temprano y profundamente extensible, con énfasis en su diseño para la modificación en tiempo de ejecución, los hooks y el empoderamiento del usuario.
  • Se mencionan DynamicLand y proyectos más nuevos inspirados por Kay/Engelbart; se esperan próximas grandes publicaciones de materiales de investigación (aunque no está claro que incluyan código fuente).

Comentarios meta y de comunidad

  • Algunos lamentan la “energía negativa” de la discusión en línea típica y su impacto en los proyectos ambiciosos.
  • Otros recuerdan con nostalgia el optimismo de los primeros tiempos de internet, contrastándolo con la web comercializada y polarizada de hoy, aunque señalando que la comunicación de baja calidad siempre ha sido común fuera de línea también.