Smalltalk: o Big-Bang das linguagens de programação

187285507_8abe8355d3_m.jpgA alguns dias atrás, fiz aquele teste da linguagem de programação, que foi divulgado em diversos blogs por aí. O resultado que eu obtive foi Smalltalk… quer dizer, é difícil para mim dizer isso, mas eu admito que, na primeira vez que fiz o teste deu Visual Basic. No entanto, como eu me importo com a minha dignidade, refiz o teste. :(

De qualquer forma, fiquei curioso pra ver se tal teste tem algum fundamento e resolvi ir atrás de informações para começar a aprender um pouco sobre Smalltalk. Aliás, não é de hoje essa minha curiosidade, visto que diversas publicações sobre design de software, padrões de projetos e frameworks possuem cases interessantíssimos em Smalltalk. Se você se interessa por este assunto, então com certeza você deve ter lido o livro de padrões de projeto da GoF (Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides). Se você ainda não leu este livro, então compre agora… é uma ordem! :P

Quer um exemplo da grande importância do Smalltalk para o mundo da Computação? Então tá… sabe o MVC (coisa que você já está de saco cheio de tanto ouvir falar)? Pois então… o MVC foi um framework Smalltalk para criação de GUIs. E sabe o que é mais impressionante nisso? É que esse padrão de projeto foi descrito pela primeira vez em 1979, em um dos laboratórios de pesquisa da Xerox!! Nossa… são vinte e oito anos… o MVC é mais velho que eu! Se você for uma pessoa curiosa, com certeza você deve se perguntar:

Cacete! Como é que algo “inventado” há quase trinta anos atrás ainda continua forte, ainda mais considerando que, no mundo da Computação, alguns poucos anos são suficientes para que mudanças completas aconteçam?

E isso não acontece só com o MVC, visto que diversos outros frameworks Smalltalk foram cruciais para definir diretrizes e padrões que são utilizados, de uma forma ou de outra, até os dias de hoje.

Enfim… voltando ao assunto. Depois de algumas pesquisas na internet, acabei por encontrar este paper, que promete introduzir Smalltalk a programadores com conhecimentos em Java (conhecimentos em C e C++ também são úteis). Este paper, assim como diversos outros sites sobre o assunto, recomendam o Squeak, uma implementação bastante popular da linguagem e ambiente Smalltalk baseada no (e largamente compatível com o) sistema Smalltalk-80. Para quem usa Ubuntu, basta usar o Synaptic e instalar os pacotes squeak* para ter um ambiente Smalltalk funcionando. Veja, abaixo, uma screenshot do Squeak rodando:

screenshot-home-daniel-squeak-squeak38-6665image.png

Em breve postarei as minhas impressões sobre o assunto, talvez algo mais para esclarecer as dúvidas que tive durante o meu aprendizado. Se você conhece algum site, livro ou qualquer coisa relacionada a Smalltalk que acha interessante divulgar, deixe um comentário, assim podemos espalhar o conhecimento mais rápido.

PS: Para que este post não fique só no blá-blá-blá, veja esta screencast, onde uma aplicação web é desenvolvida em quinze minutos (bem no estilo das screencasts do Rails)… vale a pena assistir (embora eu ainda prefira o WebWork). :P

Foto por: eMaringolo.

Tags: , , , ,