Personal tools
You are here: Home Artigos O Kanamit Web Framework



 

O Kanamit Web Framework

by Ricardo Bánffy last modified Nov 19, 2008 07:32 PM

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 brincquedo 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 6 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 de programação 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.

© Ricardo Bánffy

Este artigo também está disponível aqui.