2009-01-03

Squeak by Example

Se há um livro de programação que me deixa de boca aberta é o "Squeak by Example", um e-book de livre acesso que inicia o estudante nas artes e ofícios da linguagem Smalltalk. A terceira revisão saiu em Maio de 2008 e leva-nos pelo passeio da criação de um pequeno jogo que sintetiza os conceitos desta linguagem incrível.

Quem gosta de programar mas está habituado às linguagens da tradição C/C++ ficará surpreendido ao ler a explicação para uma expressão como a seguinte, relativa a um método que cria uma célula rectangular para colocar no ecrã:

bounds := 0@0 corner: 16@16.

Explica o autor:

0@0
representa um objecto Point com as coordenadas x e y definidas a 0. Na verdade, 0@0 envia a mensagem @ ao número 0 com o argumento 0. O efeito será que o número 0 vai pedir à classe Point para criar uma nova instância [de si própria] com as coordenadas (0,0). De seguida, enviamos a este novo objecto Point a mensagem corner: 16@16, o que faz com que ele crie um [objecto] Rectangle com cantos 0@0 e 16@16. Este novo rectângulo vai ser atribuído à variável bounds, herdada da super classe.

Fonte: Squeak by Example, rev. 3, pag. 34.

Sem comentários:

Enviar um comentário