Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

Eu sempre gostei de escrever aqui sobre linguagens “exóticas”. Já houve um tempo em que Python era exótico. Hoje Python é mainstream. Ruby, idem. Há até suporte a Rails no NetBeans 6 e para Python no Visual Studio. Não dá pra ser muito mais mainstream do que isso.

Nem todas as linguagens exóticas que eu conheci deram certo. Smalltalk, por exemplo, continua sendo aquela linguagem muito sofisticada, anos-luz à frente do Java, mas que quase ninguém usa. Smalltalk tem idéias poderosas demais. A idéia de rodar dentro de uma máquina virtual, de todo o código poder ser examinado e modificado “ao vivo”, do compilador incremental, do class browser, do late-binding, das mensagens… Tudo isso era demais pras cabecinhas da maioria dos programadores que só conseguem entender Visual Basic ou PHP e olha lá.

Mas “Visual Basic e PHP resolvem todos os meus problemas”, dizem eles. Claro. Se tudo o que eles conhecem se resume a isso, eles não imaginam sequer que existam outros tipos de problema. É uma limitação de capacidade expressiva: eles não têm as ferramentas intelectuais necessárias para expressar as classes de problemas que outras ferramentas expressam e resolvem.

Não se pode pensar em uma lâmpada fluorescente se tudo o que você conhece são pedras lascadas e peles de urso.

Uma outra linguagem muito além do seu tempo é o Lisp. Além do seu tempo porque, se ela é uma coisa poderosa hoje comparada ao que temos hoje, imaginem em 1960 quando ela foi inventada…

Por muito tempo, havia implementações de Lisp para computadores desktop, mas, com processadores de 16 bits e menos de um megabyte de RAM, essas máquinas serviam apenas como brinquedos. Você podia fazer um loop e imprimir 10 vezes “fulano é bobo”, mas não muito mais do que isso.

Naquele tempo, para se rodar programas em Lisp, você precisaria de uma Lisp Machine, um computador dedicado, com um processador único capaz de coisas que nenhum outro processador da época – ou de hoje – era capaz de fazer. Eram incrivelmente caras.

Mas as implementações de brinquedo eram o bastante para abrir as cabeças dos jovens computólogos (antes deles se chamarem assim). Lisp e Scheme (um dialeto de Lisp) são usados como ferramenta didática em todos os bons cursos de ciência da computação. Se no seu curso não tem, pare de perder tempo e paça seu dinheiro de volta. Não sei quanto é a mensalidade, mas é certo que o curso vale menos.

E, claro, hoje em dia, temos computadores amplamente capazes de rodar boas implementações de Lisp. Meu notebook consegue emular uma Lisp Machine da Texas Instruments (uma Micro-Explorer) mais depressa do que ela era originalmente.

Rails e Django

Há vários meses eu venho explorando, como um side-project da minha carreira de Zopista (quem trabalha com Zope, para os que chegaram ontem e não sabem usar o Google), o Rails e, mais recentemente, o Django. Ambos são frameworks para se desenvolver aplicações web de um jeito muito mais sensato do que se costumava fazer: eles tornam a persistência de objetos no banco de dados uma coisa simples e indolor. Juntam a isso um bom maquinário de templates e pronto.

Você pode fazer uma aplicação web bonita e funcional em poucos minutos. Melhor do que isso – como eles desincentivam o código-espaguete, você ainda consegue mantê-las depois de seis meses. São um marco na qualidade de software web.

Ainda assim, Python e Ruby carecem de uma certa pureza. São mais pragmáticas do que elegantes.

Linguagens para tempos mais civilizados

Uma das coisas que sempre me impressionou no Lisp era como ele é capaz de expressar coisas muito poderosas em estruturas muito concisas. Você trabalha em um nível normalmente reservado ao compilador, mas, ainda assim, é um espaço em que o cérebro consegue funcionar bem e as idéias importantes não ficam escondidas no meio de uma sintaxe forçadamente ALGOL-esca. John McCarthy acertou na mosca, mesmo que, muitos acreditam, tenha sido muita, muita sorte.

Um dia desses, eu conheci mais um framework para web. Só por ser mais um, não haveria vantagem.

Mas esse é mais elegante do que os demais porque é construído em uma base mais elegante. Esse é feito em Lisp.

O Kanamit Web Framework é um golpe de ar fresco em um mundo cada dia mais monótono.

Os autores, Tam e LR (são os nicknames de IRC deles) dizem que já é uma idéia antiga. Eu acredito. É tudo muito bem pensado e redondo.

Aqueles que sabem que eu coleciono computadores interessantes vai adorar saber que eu já localizei, no eBay, uma Symbolics MacIvory só por causa dele. Ela deve estar a caminho agora. [Webinsider]

.

Avatar de Ricardo Bánffy

Ricardo Bánffy (ricardo@dieblinkenlights.com) é engenheiro, desenvolvedor, palestrante e consultor.

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

12 respostas

  1. Até hoje não vi ninguém recrutando pessoas para trabalhar com SmallTalk aqui no Brasil.

    Defendo que os programadores tem que ser atuais e não futuristas.

    Um dia a tecnologia futura vai chegar em nossas mãos e seja ela qual for nós vamos aprender e ganhar o nosso dinheiro, como sempre foi.

    Do que adianta eu saber linguagens exóticas se não posso usá-las em nada.

    Abraço

    Obs.: Desculpa, mas não consegui terminar de ler o texto. Mais sucesso para o próximo.

  2. Eduardo,

    Parabéns pela sua determinação e pela atenção à data de publicação. Apenas uns poucos foram tão longe quanto você.

    Não posso fazer nada além de dizer culpado de todas as acusações

  3. Oi Ricardo,

    no artigo você diz:
    Um dia desses, eu conheci mais um framework para web. Só por ser mais um, não haveria vantagem.
    Mas esse é mais elegante do que os demais porque é construído em uma base mais elegante. Esse é feito em Lisp.

    Será que você poderia compartilhar conosco como você chegou a esta conclusão?
    O site do Kanamit que encontrei é simplesmente uma página estática; não há links para exemplos de código ou documentação de arquitetura quiçá download.
    Fiz buscas pela Web e todo link que encontrei aponta para este mesmo site.

    Fiz download do tarball indicado no site e não há nada de relevante, apenas 1 imagem (extraída do Episódio To Server Man de The Twilight Zone que faz referência aos Kanamits) e um arquivo texto.

    Como que este artigo foi publicado dia 1 de Abril suspeito que Kanamit não passe de um bom trote típico do Fools Day.

    Gotcha.

    PS: Link para o episódio citado
    http://en.wikipedia.org/wiki/To_Serve_Man_%28The_Twilight_Zone%29

  4. A sua matéria é bem legal, tanto que me propuz a ver o site indicado http://www.kanamitweb.net.

    Eu to ficando velho pra isso, e com a minha velhice veio a burrice, juro que tentei desvendar o mistério sobre aquele site, cheguei a pensar que foi uma pagina que havia sido escrita nos anos 60, e somente hoje haviam dado os créditos a ela. a unica coisa que vi no site mencionado foi uma tecnica ultra avançada de href# e um conjunto maravilhoso de hover em css, ah, sem contar com o encantador portfolio dos autores e google ads.

    Todos os news levam ao mesmo lugar#.

    Eles podiam ter poupado um tempão enorme fazendo aquela pagina no Dreamweaver.

    Mas sua matéria vale 10, parabéns.

  5. Toda tecnologia tem a sua vez.
    O XML também ficou na gaveta durante anos até que alguém se ligasse da utilidade dele. =)

  6. Ricardo, parabéns por mais um ótimo texto.
    Aprecio bastante a sua forma de escrever.
    Você se interessaria em escrever um livro?

    Estou começando a desenvolver para web, o que você recomenda, dar uma de Paul Graham e partir direto para LISP e tentar esse kanamit, ou algo mais simples no início?

    Gosto muito do seus artigos. Escreva mais.

  7. é surprendente a velocidade de evolução da WEB2 a cada dia a criatividade destes garotos aumenta.
    Realmente, já tiva acesso a este framework e é de cair o queixo a velocidade de desenvolvimento para novos projetos, voce faz em 30 minutos o que demoraria 2 dias para fazer usando Java, xhtml, css, e o xenicol plus.
    O framework usa o conceito de objeto desestruturado original do LISP e do calculo lambda de CHURCH, que até pouco tempo atrás era de interese apenas do pessoal da matemática.
    Òtimo artigo, muito bem escrito por um autor de conhecimentos profundos de técnicas de programas.

  8. Bánffy… seria pretensioso de minha parte dizer que entendi uma linha sequer do que aqui está escrito, especialmente por conta da linguagem hermética, característica do mundo eletrônico… contudo é perfeitamente possível compreender que fala-se com muita propriedade e conhecimento de causa… o texto é fluído e até mesmo para mim, um total e absoluto peixe fora dágua, chega a ser instigante… parabéns!… confessa, você anda lendo Merleau-Ponty… abs!

    ps.: pode deletar esse meu comentário quando bem entender… sem dó nem piedade.

  9. Muito legal a matéria, é bom sempre conhecer outras tecnologias mais poderosas que Java (tipo Djando e Rails).

    Mas seria interessante disponibilizarem o framework para download, já que no site do desenvolvedor não tem.

    []s

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *