Tudo sobre Smalltalk e outras linguagens

Sharp Smalltalk: o futuro do Smalltalk?

Não deveria ser surpresa para ninguém o fato de eu ser um fã de Smalltalk — basta conferir o domínio no qual este blog está para entender porquê. Entretanto, mesmo que Smalltalk seja um conceito anos à frente de seu tempo (e, na minha opinião, mais avançado do que muito que se apregoa hoje como estado-da-arte), ele acabou não se tornando uma linguagem ou ambiente “mainstream” devido a uma série de circunstâncias que espero mencionar em outra oportunidade.

Mesmo assim, Smalltalk inspirou muitas coisas boas no mundo da programação atual; e um dos últimos esforços inspirados em Smalltalk é o ambiente .NET, criado pela Microsoft. Para um conhecedor do Smalltalk, é fácil reconhecer as influências do Smalltalk nos detalhes e na implementação desse ambiente de programação.

Curiosamente, o círculo se completa com um projeto no mínimo interessante, chamado Sharp Smalltalk — que é nada mais, nada menos que uma implementação de Smalltalk sobre o ambiente .NET. E talvez o Sharp Smalltalk seja a maneira mais fácil de ver a inspiração óbvia do .NET no Smalltalk, já que a linguagem foi mapeada facilmente sobre a biblioteca de classes do .NET, com relativamente poucas adaptações.

Será o Sharp Smalltalk o futuro do Smalltalk? Só o tempo dirá… mas vale a pena dar uma conferida, e ficar de olho nesse projeto.

Comments

  1. André Fernandes
    July 21st, 2009 | 8:47 am

    Embora programe há muito tempo, apenas há pouco conheci smalltalk e estou adorando a linguagem! É fantástica! Espero logo poder desenvolver um projeto completo nela e usando meu banco de dados predileto: postgreSQL.
    Contudo, gostaria de saber o porque de smalltalk não ter-se tornado o padrão, a linguagem está anos luz a frente de diversas outras linguagens que conheço, entre elas o tão famoso Java. Não entendo o porque de não ser mais conhecida e difundida no mercado…
    Honestamente, poucas linguagens ganharam meu respeito real, e smalltalk é uma delas. Acho uma linguagem tão boa ou quase tão boa quanto Lisp, que é outra linguagem que jamais deveria ter sido desprezada pelo mercado, mas fazer o quê?
    Espero que possas dizer porque o smalltalk não se tornou a linguagem padrão do mercado… E achas que isso pode vir a mudar? (espero que sim… :-) )

  2. Roberto
    July 21st, 2009 | 11:19 am

    Oi André,

    Há dois grandes motivos por trás do relativo “fracasso” do Smalltalk como linguagem “mainstream”. Um é o seu caráter totalmente orientado a objeto, que confundia muitos programadores, e obviamente tinha um custo maior em termos de memória e CPU do que outras linguagens de mais baixo nível. O outro motivo tem pouco a ver com a tecnologia: o preço das implementações viáveis comercialmente (em termos de desempenho e funcionalidades) era muito alto (de certa forma, até hoje), o que impediu que o Smalltalk se expandisse significativamente.

    Java, por outro lado, ganhou o mercado - em parte, por resolver alguns desses problemas. A sintaxe de Java é “filha” do C/C++, diminuindo a curva de aprendizagem de programadores já experientes nessas linguagens; e a principal implementação foi distribuída gratuitamente desde o começo, o que ajudou na sua disseminação.

    O resumo da história é que Smalltalk era uma linguagem muito à frente de seu próprio tempo. E, considerando o mercado moderno, acho muito difícil que Smalltalk possa “retornar” para se tornar uma linguagem “mainstream”, ainda mais considerando o fato de que muitos sistemas implementados em Smalltalk estão sendo “portados” pra Java ou opções similares…

  3. André Fernandes
    July 21st, 2009 | 12:24 pm

    Puxa, ao que tudo indica, parte do problema com o smalltalk é semelhante ao do Lisp ambas foram linguagens muito avançadas para o seu tempo.
    Triste saber disso… :-(
    O que me entristece hoje é que uso linguagens no dia a dia do trabalho que raramente se vêem tão avançadas quanto aquelas de que gosto (como Lisp e smalltalk). Mas a vida é assim mesmo, fazer o quê?