VidaGeek.net

Linux, Open-source, Programação e Produtividade

Squeak LogoSmalltalk é a linguagem de programação que tornou popular o paradigma de orientação a objetos. Inspirou as linguagens mais populares da atualidade: Java, Ruby, Python, etc. Mais sobre a história do surgimento de Smalltalk pode ser visto na Wikipedia (o artigo em inglês é mais completo).

Um dos grandes atrativos da linguagem é a sintaxe, bastante diferente da convencional. Existem três tipos de chamadas de métodos:

  • Simples, sem argumentos: {objeto} {mensagem}
  • Com um argumento, binário: {objeto} {mensagem} {argumento}
  • Com vários argumentos, por seletores: {objeto} {mensagem} {argumento1} {cont. da mensagem} {argumento2} …

Para tornar mais claro o último tipo, é necessário olhar para a declaração de um método que recebe vários argumentos, que é assim:
umaMensagemComArgumento: objeto eOutro: arg1 eMaisUm: arg2
Os parâmetros ficam intercalados no nome do método. Assim, uma chamada para esse método seria feita assim:
destinatario umaMensagemComArgumento: 1 eOutro: 2 eMaisUm: 3

Outra característica bastante interessante em Smalltalk é que tudo são objetos. Isso faz com que a linguagem não possua if, else, switch, while nem nenhum outro tipo de palavra reservada. Todos esses controles de fluxo são implementados como métodos de objetos Boolean.

Um ponto que é positivo e negativo ao mesmo tempo é o fato de os programas em Smalltalk estarem muito atrelados ao ambiente de desenvolvimento que, por sua vez, é atrelado à máquina virtual. Não é tão simples fazer com que programas Smalltalk executem fora da IDE, que normalmente é o Squeak (que, aliás, é um ambiente de desenvolvimento bastante interessante e completo).

Existem diversas bibliotecas interessantes para usar em Smalltalk. Cito, por exemplo, Magma (que implementa um banco de dados orientado a objetos) e Seaside (um servidor e framework web). Existe, inclusive, um site que hospeda gratuitamente aplicações em Seaside.

Uma linguagem que segue de perto os conceitos de Smalltalk mas trabalha com protótipos ao invés de classes é Self. Self é um projeto da Sun que parece descontinuado, atualmente, apesar de bastante interessante.

Achou interessante? Não gostou? Discorda de alguma coisa? Quer adicionar mais alguma coisa nesse post? Comente abaixo, no nosso fórum ou envie um e-mail para nós: admin at vidageek.net.

Imagem via Kurtz-Fernhout

Posts Relacionados:

  • FISL 10: Seaside versus Rails
  • Linguagens de programação
  • Desenvolvimento de jogos com o Morphic
  • Linguagens de Programação - Basic
  • Lambda the Ultimate
  • Linguagens de Programação - C
  • Linguagens de programação - C++
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 5 Comments
  • Filed under: Programacao
  • Há muito tempo vejo propagandas de ferramentas de desenvolvimento de jogos que se propõem a serem super fáceis de usar, permitindo o desenvolvimento de um jogo simples em pouco tempo. Já experimentei uma ou outra, e nenhum é tão fácil assim de usar, fora que muitas são pagas. Mas, recentemente, descobri um arcabouço para desenvolvimento não só de jogos, mas de interfaces gráficas em geral, baseado em Smalltalk. Esse arcabouço, chamado Morphic, vem de graça com o Squeak, um ambiente open-source de desenvolvimento e interação em Smalltalk.

    (more…)

    Posts Relacionados:

  • Game Developers Conference
  • Linux para jogos
  • FISL 9.0: Desenvolvendo jogos com PyGame
  • Futuro dos Jogos
  • Nova Coluna Semanal: Geek Style of Life
  • Retrospectiva 2008
  • Notícias Fresquinhas
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.