JBittencourt's Blog

Self

by on Aug.03, 2006, under Uncategorized

Nos últimos dois anos desejo aprender a utilizar Squeak. Para quem não sabe, Squeak é uma implementação de SmallTalk destinada para o uso com crianças. Entretanto ela não é uma linguagem de “brincadeira”, apesar de ser uma ótima linguagem para brincar. Squeak é tão poderosa que permite o desenvolvimento de complexos ambientes 3D como o Open Croquet. Mas, apesar de ser uma linguagem fantástica, o que mais me fascina no Squeak  é como ela traz elementos inovadores de várias linguagens de programação que até hoje não chegaram nas linguagens mais  populares.

Um desses elementos é a interface de programação Morph, que foi  implementada da linguagem de programação Self.  Acredito que muito pouco gente ouviu falar sobre essa linguagem. Eu mesmo, fiz um curso inteiro de Ciências da Computação e nunca tinha ouvido falar. Entretanto ela é genial,  além de ser base para a implementação de várias linguagem conhecidas como JavaScript e ActionScript.  Conhecer Self me ajudou a compreender, por exemplo,  o modelo de orientação a objetos do JavaScript que  sempre me pareceu estranho e  sem sentido. Na realidade ele fez muito sentido.

Self foi desenvolvida na década de 1990  nos laboratórios da Sun. Seu objetivo era de expandir os limites da linguagens orientadas a objetos investidando no mundo físico a relação entre os objetos. Para tanto ela sustenta-se sobre três princípios chave:

  • Directness: para visualizar ou modificar um objeto, você vai diretamente à ele;
  • Uniformity: os objetos seguem as mesmas regras fundamentais em todo o sistema;
  • Indiferenciação entre os modos de edição e execução: não deve existir diferenciação entre o lugar em que o programa é desenvolvido e onde ele é executado.

Obervar e refletir sobre esses três princípios foi uma experiência interessante, principalmente para ver como nossas abordagens de desenvolvimento hoje são pobres comparadas com esse trabalho. Entretanto, ao invés de ficar falando sobre Self, o melhor é vê-la em ação nesse video.



Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!