Squeak e Smalltalk no OLPC

Tirado da notícia Fisl – relato inicial e apanhado geral da primeira manhã do evento, do site br-linux.org:

…Mas pra começo, que dei uma passada voando pelo pavilhão, me diverti horrores com a criançada no estande da OLPC.

Nota: OLPC é o projeto “One Laptop Per Child”, Um Computador por Criança, que visa criar uma espécie de mini-notebooks a custo ao redor de 100 dólares para distribuir a estudantes da rede pública de ensino – tente pensar nestas máquinas como “pequenos cadernos eletrônicos”, ao invés de “vão dar notebooks de graça a crianças”; a idéia do projeto está muito além disso.

Sim, pode ser que não de certo, pode ser que dê muito cero, mas que é muito bom ver crianças brincando com interfaces inteligentes (Squeak, pra quem não conhece um smalltalk simples e perfeito para alimentar a fome de conhecimento dos nossos guris e gurias novinhos :-), e vendo que o “brinquedo” funciona.

Squeak e Smalltalk…
Conheci o Squeak uns anos atrás, quando fiquei curioso em conhecer a linguagem Smalltalk e saber como seria uma linguagem orientada a objetos ‘pura’. Achei a linguagem muito interessante, mas mais ainda o projeto Squeak e o fato de ele ser usado, principalmente, para ensinar princípios de computação e programação para crianças – vejam em http://squeakland.org/ , isto já existia muito tempo antes do OLPC ser sequer cogitado. O ambiente Squeak é inteiramente interativo, todo e qualquer objeto pode ser editado, remodelado, programado, ter eventos criados e assim por diante (*todo* e qualquer objeto, até a barra de título de uma janela, os botõezinhos de maximizar/minimizar, e até um label de texto qualquer dentro da janela).

Tudo no ambiente é um objeto… até um texto qualquer em qualquer parte do ambiente – dentro de uma janela, no desktop ou simplesmente “flutuando” pela tela – é um objeto, possui métodos, e pode ser editado. O mais interessante de tudo é que, como o Squeak roda em uma máquina virtual Smalltalk, tudo no ambiente é em Smalltalk e mudanças são imediatas… por exemplo, se você alterar a classe dos objetos de texto para que, digamos, mudem de cor aleatoriamente a cada segundo, no momento em que você salvar a nova versão deste método da classe (que você está editando dentro do próprio ambiente), *POOF* – todos os objetos de texto da tela, incluindo os que estão na própria janela em que você está e as dos outros “programas” que estão rodando… não é necessário parar um programa e reiniciá-lo para que redefinições inteiras de métodos, classes e o escambau entrem em vigor, basta dar um save e as mudanças são imediatas no ambiente. É fascinante, pra quem vem de outros ambientes e paradigmas de OOP.
No site da squeakland tem um monte de material e de exemplos sobre o uso do ambiente para o ensino a crianças; tem um repositório pronto de coisas feitas pelas próprias crianças, “programando” no ambiente – você pode (re)programar o ambiente tanto digitando smalltalk quanto editando as propriedades de um objeto visualmente, usando as janelas de edição, onde pode-se criar até “comportamentos” dos objetos – e estas edições interativas geram automaticamente código em Smalltalk.
Quando ouvi a notícia de que os tais OLPC usariam o Squeak de alguma forma, achei muito interessante. Não sabia que havia o envolvimento deste projeto com o “notebookzinho”. O Alan Kay deve estar sorrindo de orelha a orelha 🙂
Edit: conforme comentado no br-linux, ao que parece a licença usada pelo Squeak pode gerar alguns problemas.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *