Smalltalk Revival

May 17th, 2007 § 12 comments

Pelo visto, o Smalltalk parece estar no caminho de uma nova fase em termos de interesse generalizado: mais e mais pessoas estão descobrindo a linguagem, e diversos projetos interessantes estão surgindo, um atrás do outro, ganhando a atenção da mídia e mostrando que a linguagem não é tão esotérica como muitos pensavam e que fornece um ambiente bastante interessante para aplicações que vão desde ambientes de programação customizados e desenvolvimento Web pesado.

As novidades dos últimos dias foram dos ambientes muito interessantes que merecem uma investigação posterior. O primeiro foi o Sophie, um aplicativo que permite a criação de documentos multimídia com recursos bem poderosos sem a necessidade de qualquer conhecimento de programação. E o segundo foi o Scratch que na verdade é uma nova linguagem de programação visual em um ambiente construído sobre o Squeak Smalltalk. O site do projeto ontem sofreu com um enorme número de acessos proveniente tanto da comunidade tecnológica como da mídia em geral e a atenção é merecida. Eu baixei o ambiente, instalei e brinquei um pouco e fiquei encantado com as possibilidades.

Embora tanto o Sophie como o Scratch escondam o Smalltalk por trás dos mesmos, não dá para deixar de pensar no que é possível fazer com a linguagem e eu imagino que mais programadores pensarão mais uma vez ao considerar Smalltalk para esse tipo de projetos. E quem sabe Smalltalk finalmente não tenha o seu lugar à luz do Sol, depois de tantos anos?

§ 12 Responses to Smalltalk Revival"

  • Coincidência ou não, eu sou uma dessas pessoas que acabou abrindo os olhos para o Smalltalk. Ou, como disse o Thiago num comentário no meu blog, tomei a pílula vermelha. 😀

    Apenas conhecia Smalltalk de “ouvir falar”, mas gastei (ou seria melhor dizer investi) alguns dias mexendo no Squeak e no Seaside. Devo confessar que gostei MUITO do que vi. Muito mesmo! O Smalltalk (o Squeak em especial) é muito fácil de se utilizar, e a linguagem bem simples de se aprender (eu particularmente achei muito mais fácil que Ruby).

  • Thiago Silva says:

    Ta ai. Admito que hypes são bons para uma coisa: vez ou outra, eles colocam as pessoas em estado de busca. Afinal, “se esse assunto é quente agora (como rails), eu quero saber o que vai ser quente amanhã”. E, com o hype atual do ruby, mais e mais pessoas notam essas “influências obscuras” que esta linguagem carrega, lendo as documentações, etc.

    Não que eu atribua o dito interesse recente em smalltalk ao hype, mas acho que fui influenciado por este último.

    De qualquer forma, se existe mesmo este interesse crescente, isso me faz pensar no Greenspun’s Tenth Rule. Lembro com humor da afirmação que dizia que as linguagens lentamente tentam se parecer mais e mais com Lisp (admitindo ou não). Bom, verdade ou não, esta lentidão me irrita.

    Thiago

  • Luiz Rocha says:

    Talvez a grande lição seja que não importa mais a linguagem que se implementa alguma nova idéia.

    Talvez seja que separar VM, editor e todas as partes de um ambiente de desenvolvimento não tenha sido uma boa idéia. :-)

  • Thiago Silva says:

    Talvez a grande lição seja que não importa mais a linguagem que se implementa alguma nova idéia.

    Isso é algo que eu acho difícil concordar. Como muitos dizem, linguagem é UI (User Interface). Se é uma nova idéia que queremos expressar, me parece razoável procurar uma linguagem que permita comunicar claramente estas idéias para os leitores (e, se possível, eficientemente para o hardware).

  • Ronaldo says:

    Opa, Daniel. Tudo bom? Esteticamente, eu considero Smalltalk como próxima da perfeição. Melhor do que ela, somente uma linguagem natural mesmo. Acho que é daí que vem essa facilidade de aprendizado. As regras são muito simples, muito óbvias e não há exceções que complicam a vida.

    O único problema é que depois que você conhece, não agüenta mais as outras linguagens imperativas normais. 😉

    Opa, Thiago. Bom? Eu acho que o hype em cima do Smalltalk está começando. Aliás, como eu já disse em outras ocasiões, acho que o maior mérito do Rails foi justamente esse: abrir os olhos dos programadores para a existência de um mundo melhor de programação. E o Smalltalk, como Haskell, Lisp e outras, está ganhando com isso. Acho que em alguns anos, o mercado será bem mais tolerando porque a empolgação de melhoras as implementações e se formar novo conhecimento nessas áreas antes ditas esotéricas está aumentando.

    Eu leio blogs desde antes do começo do século e, nesses seis ou sete anos, a mudança de tópicos nos blogs de programadores é impressionantes. De dois anos para cá, linguagens dinâmicas se tornaram o assunto dominantes. É claro que hoje há mais blogs, mas mesmo entre o pessoal mais velho, a coisa está mudando, o que é ótimo.

    Sobre a regra do Greenspun, é meio exagerada, mas concordo no geral. Ironicamente, o Vista Smalltalk contém uma semi-implementação Lisp em seu run-time.

    Luiz, bom? Talvez e talvez não. Eu ainda não me decidi se gosto ou se odeio a integração do Smalltalk e o fato da mesma ser baseada em imagens, embora seja fascinado pelas implementações. Acho que isso dá margem a mais incompatibilidades. Por outro lado, incompatibilidades talvez sejam boas. Talvez.

  • Thiago Silva says:

    “Eu acho que o hype em cima do Smalltalk está começando. Aliás, como eu já disse em outras ocasiões, acho que o maior mérito do Rails foi justamente esse: abrir os olhos dos programadores para a existência de um mundo melhor de programação. E o Smalltalk, como Haskell, Lisp e outras, está ganhando com isso. Acho que em alguns anos, o mercado será bem mais tolerando porque a empolgação de melhoras as implementações e se formar novo conhecimento nessas áreas antes ditas esotéricas está aumentando.”

    Eu também ando contemplando estas possibilidades. E, claro, aguardo ansioso que elas aconteçam. Acho, também que outra coisa tem ajudado nessas divulgações. Creio que as pessoas estão notando que muito do que elas fazem não é eficiênte frente à outras alternativas (especialmente as não tão novas assim).

    “Eu leio blogs desde antes do começo do século e, nesses seis ou sete anos, a mudança de tópicos nos blogs de programadores é impressionantes. De dois anos para cá, linguagens dinâmicas se tornaram o assunto dominantes. É claro que hoje há mais blogs, mas mesmo entre o pessoal mais velho, a coisa está mudando, o que é ótimo.”

    Boas notícias. Realmente, eu tinha notado que você é bem antigo no mundo dos blogs (até pelo histórico aqui do superfície reflexiva). Acho que o metal tinha me falado isso, também…

    “Sobre a regra do Greenspun, é meio exagerada, mas concordo no geral.”

    De fato. A citei porque acho que o humor dela diz algo muito interessante 😉

    “Ironicamente, o Vista Smalltalk contém uma semi-implementação Lisp em seu run-time.”

    Sim! Uma pena que o foco do autor seja no SO Windows =(

  • Luiz Rocha says:

    Thiago: Apesar de concordar que uma linguagem pode facilitar, e até direcionar, o surgimento e o desenvolvimento de uma idéia — e acreditar que um bom desenvolvedor deve sempre procurar as melhores ferramentas — não acredito que isso seja um limitante para transmitir uma idéia para o leitor.

    Mas na verdade, o que eu quis dizer (e aparentemente falhei :-)) é que hoje, com a quantidade de informação que existe disponível, desenvolver em uma linguagem que, a 10 anos atrás (menos até), era considerada acadêmica, aparentemente não é mais barreira.

    O que é ótimo, BTW.


    Ronaldo: Acho que não é uma questão de ódio ou não.

    O ambiente integrado e as imagens do Smalltalk são simplesmente diferentes. Não sei se isso é melhor ou pior em termos de desenvolvimento, mas só por jogar novas idéias no caldeirão, já vale a pena.

  • Ronaldo says:

    Tiago,

    Eu também ando contemplando estas possibilidades. E, claro, aguardo ansioso que elas aconteçam. Acho, também que outra coisa tem ajudado nessas divulgações. Creio que as pessoas estão notando que muito do que elas fazem não é eficiênte frente à outras alternativas (especialmente as não tão novas assim).

    Eu também. O desenvolvimento do Rails me deu motivo para algum preocupação. Um surto de inovação seguido agora por um declínio motivado por uma fascinação com tópicos de menor importância. Espero que isso não reflita no contrário.

    Boas notícias. Realmente, eu tinha notado que você é bem antigo no mundo dos blogs (até pelo histórico aqui do superfície reflexiva). Acho que o metal tinha me falado isso, também…

    Hehehe. Eu leio blogs desde quando a palavra não era nem usada e que ninguém sabia que blogs se tornariam um fenômeno. Eu gastava horrores em telefone para acompanhar os sites, sem contar que na época era na base do bookmark porque RSS ainda estava há algum tempo no futuro. :-)

    O metal é que não acreditava em blogs. Dizia que era coisa de boiola. Agora tem dois. :-)

    De fato. A citei porque acho que o humor dela diz algo muito interessante 😉

    Com certeza. Apesar de que o mais engraçado é que eu acho que há uma ironia por trás: já vi diversas vezes implementações simplicadas do Lisp usadas como exemplo em outras linguagens. A questão é: será que é realmente porque o Lisp supera todas outros ou por preguiça?

    Sim! Uma pena que o foco do autor seja no SO Windows =(

    Se depender do pessoal do Mono, deve aparecer pelo Linux eventualmente. O Miguelito está doido para portar XAML, Silverlight, etc… :-)

    Luiz, acho que você já deve ter notado que eu sou meio exagerado. :-)

    Na verdade, eu acredito que a diferença do ambiente do Smalltalk seja muito necessário para manter uma constante quebra de paradigma. Hoje, Eclipse e Visual Studio estão se encaminhando para passar para esse tipo de ambiente ultra-integrado. A questão é: será que isso deve vir como função da linguagem ou não?

  • Thiago Silva says:

    Quanto a imagem do Smalltalk, eu particularmente não gosto. Não por causa da imagem ou do smalltalk, mas porque ele não é meu sistema operacional. Por exemplo, me incomoda sair da janela do Squeak e estar em um mundo estrangeiro, sem halo, sem inspector….sem objetos.

    O que me lembra o SqueakNOS. Espero que gere frutos.

    A propósito, já viram o vídeo do Self?

    http://video.google.com/videoplay?docid=5776880551404953752

  • Ronaldo says:

    A imagem é um conceito fascinante, funciona muito bem, produz algumas facilidades impressionantes, mas é terrível quando se trata de deployment. E isso é um deal-breaker para bastante aplicações e ambientes.

    Sobre o vídeo do Self, está dando 404. Alguma outra URL?

  • Thiago Silva says:

    Procurando no http://video.google.com/ por “self sun”, ou “self language sun” você deve encontrar.

  • Walter Cruz says:

    E aqui estou eu, quase um ano depoi, me salvando da aula de UML 😀

Leave a Reply

Your email address will not be published. Required fields are marked *

What's this?

You are currently reading Smalltalk Revival at Superfície Reflexiva.

meta