Squeak 6.1
Squeak 6.1, un entorno Smalltalk moderno, está despertando un interés renovado en sistemas de programación basados en imágenes y altamente introspectivos, donde el código, las herramientas y la UI viven dentro de un mundo persistente de objetos. Los comentaristas destacan la influencia histórica de Smalltalk en lenguajes como JavaScript y Ruby, su enfoque distintivo de los objetos, las GUIs (vía Morphic) y la depuración en vivo, al tiempo que señalan obstáculos prácticos como la estética de UI anticuada y el soporte high-DPI. El hilo se ramifica en comparaciones con Pharo, Glamorous Toolkit, Cuis e incluso modelos de actores al estilo Erlang, subrayando cómo estas ideas siguen moldeando la forma de pensar sobre concurrencia, persistencia y experiencia de desarrollo.
Impacto conceptual de Smalltalk
- Muchos consideran que aprender Smalltalk es transformador, similar a Lisp o Erlang, para entender el “OO real” como paso de mensajes y objetos en todos los niveles.
- Algunos describen un momento de “wow” por el modelo de imagen viva y persistente: moldeas un sistema en ejecución en lugar de reiniciar programas repetidamente.
- Otros sostienen que las abstracciones a nivel de sistema operativo y los sistemas estáticos siguen ofreciendo una protección crucial; las VM de Smalltalk a menudo necesitan mecanismos de recuperación.
Sistemas basados en imágenes y persistencia
- Se menciona que varios lenguajes/entornos tienen semánticas basadas en imágenes o similares: Common Lisp, variantes de Scheme, GNU Emacs, R, sistemas al estilo LambdaMOO, NixOS (con debate sobre la analogía) y bases de datos de objetos como GemStone/S.
- Las ideas exploradas incluyen: imágenes persistentes y mapeadas en memoria; imágenes direccionadas por contenido con hashing y deltas al estilo git; proxies transparentes que cargan perezosamente objetos persistidos.
- Algunos ven este modelo como muy relevante hoy para versionado, agentes y reducir la serialización manual; otros destacan la complejidad y la fricción del ecosistema.
Morphic, interfaces y herramientas
- Se discute la arquitectura de Morphic a través de sus raíces en Self, el port a Squeak y las implementaciones en JavaScript (Lively Kernel, morphic.js, Snap!). Se comparten enlaces y documentación para profundizar.
- Cuis Smalltalk es elogiado por un Morphic simplificado, basado en vectores, con soporte completo para alta densidad de píxeles y manipulación de UI muy interactiva.
- La UI de Squeak genera reacciones encontradas: introspección y viveza potentes frente a la sensación de estar “atascado en los 90”, especialmente en pantallas modernas de alta densidad de píxeles. Se dice que Squeak 6.1 mejora el soporte high-DPI, pero algunos siguen viendo carencias; se mencionan alternativas como Pharo/Glamorous Toolkit y SqueakJS.
JavaScript, otros lenguajes e influencias
- Una afirmación: muchas de las “partes buenas” de JavaScript provienen de Smalltalk. Otros discrepan, citando la influencia de Self en los prototipos y de Scheme en JS, y señalando que JS carece de un objeto raíz verdadero al estilo Smalltalk o de un paso de mensajes puro.
- La discusión se ramifica hacia Lisp, Prolog, Forth, Erlang, Elixir, Gleam, Ruby y lenguajes con tipos como TypeScript, con la idea de que aprender múltiples paradigmas amplía la comprensión.
- Algunos prevén que la IA reducirá la “diversión” de programar, mientras que otros argumentan que los buenos lenguajes, las herramientas y el código legible por humanos importarán aún más en un futuro asistido por IA.
Cuestiones prácticas y soporte
- El soporte high-DPI es un punto de dolor recurrente; Squeak y Pharo se ven como en mejora pero aún no del todo, mientras que Cuis y Glamorous Toolkit se proponen como mejores en pantallas modernas.
- Surgen preguntas sobre la compatibilidad de Etoys con nuevas versiones de Squeak; los atajos pasan por imágenes antiguas y SqueakJS.