Squeak 6.1

O Squeak 6.1, um ambiente Smalltalk moderno, está despertando um renovado interesse em sistemas de programação baseados em imagem e altamente introspectivos, nos quais código, ferramentas e UI vivem dentro de um mundo persistente de objetos. Os comentadores destacam a influência histórica do Smalltalk em linguagens como JavaScript e Ruby, sua abordagem distinta para objetos, GUIs (via Morphic) e depuração ao vivo, ao mesmo tempo em que apontam obstáculos práticos como estética de UI datada e suporte a alta DPI. A discussão se ramifica em comparações com Pharo, Glamorous Toolkit, Cuis e até modelos de atores no estilo Erlang, ressaltando como essas ideias continuam a moldar o pensamento sobre concorrência, persistência e experiência do desenvolvedor.

Impacto Conceitual do Smalltalk

  • Muitos veem aprender Smalltalk como transformador, semelhante a Lisp ou Erlang, para entender o OO “de verdade” como passagem de mensagens e objetos até o fim.
  • Alguns descrevem um momento “uau” com o modelo de imagem viva e persistente: você molda um sistema em execução em vez de reiniciar programas repetidamente.
  • Outros argumentam que abstrações no nível do sistema operacional e sistemas estáticos ainda oferecem proteção crucial; VMs de Smalltalk muitas vezes precisam de mecanismos de recuperação.

Sistemas Baseados em Imagem e Persistência

  • Várias linguagens/ambientes são citados como tendo semânticas baseadas em imagem ou semelhantes: Common Lisp, variantes de Scheme, GNU Emacs, R, sistemas no estilo LambdaMOO, NixOS (com debate sobre a analogia) e bancos de objetos como GemStone/S.
  • Ideias exploradas incluem: imagens persistentes, mapeadas em memória; imagens endereçadas por conteúdo com hashing e deltas no estilo git; proxies transparentes que carregam objetos persistidos sob demanda.
  • Alguns veem esse modelo como altamente relevante hoje para versionamento, agentes e redução da serialização manual; outros destacam a complexidade e o atrito do ecossistema.

Morphic, UIs e Ferramentas

  • A arquitetura do Morphic é discutida por meio das raízes em Self, do port para Squeak e de implementações em JavaScript (Lively Kernel, morphic.js, Snap!). Links e documentação são compartilhados para estudo mais aprofundado.
  • Cuis Smalltalk é elogiado por um Morphic simplificado, baseado em vetores, com suporte completo a alta DPI e manipulação de UI altamente interativa.
  • A UI do Squeak provoca reações mistas: introspecção e vivacidade poderosas vs. sensação de estar “preso nos anos 90”, especialmente em telas modernas de alta DPI. Diz-se que o Squeak 6.1 melhora a alta DPI, mas alguns ainda veem lacunas; alternativas como Pharo/Glamorous Toolkit e SqueakJS são mencionadas.

JavaScript, Outras Linguagens e Influências

  • Uma afirmação: muitas das “boas partes” do JavaScript vêm do Smalltalk. Outros contrapõem, citando a influência de Self nos protótipos e de Scheme no JS, e observando que o JS não tem um verdadeiro objeto raiz no estilo Smalltalk nem passagem pura de mensagens.
  • A discussão se ramifica para Lisp, Prolog, Forth, Erlang, Elixir, Gleam, Ruby e linguagens com tipos como TypeScript, com o tema de que aprender múltiplos paradigmas amplia a compreensão.
  • Alguns preveem que a IA reduzirá a “diversão” de programar, enquanto outros argumentam que boas linguagens, ferramentas e código legível por humanos serão ainda mais importantes em um futuro assistido por IA.

Questões Práticas e Suporte

  • O suporte a alta DPI é um ponto de dor recorrente; Squeak e Pharo são vistos como em melhoria, mas ainda não totalmente prontos, enquanto Cuis e Glamorous Toolkit são propostos como melhores em telas modernas.
  • Surgem dúvidas sobre a compatibilidade do Etoys com novas versões do Squeak; as soluções alternativas envolvem imagens mais antigas e SqueakJS.