mod_lua no apache e mod_v8
Duas notícias interessantes do blog do Paul Querna:
O mod_lua foi incluído no apache 2.4. No exemplo em seu blog, ele demonstra que regras complicadas do mod_rewrite poderão ser escritas em lua, usando uma sintaxe de if/else mais comum.
Outro notícia interessante: ele fez um esboço de um módulo para embutir a máquina virtual de Javascript v8 num módulo do apache. Foi feito por enquanto mais por brincadeira, mas vale lembrar que muita gente acredita em JavaScript no lado do servidor.
Via: Ajaxian
Exercício de Futurologia
Segundo a notícia do Tiobe, Python foi eleita a linguagem do ano de 2007.O ranking do Tiobe é uma espécie de medida de popularidade das linguagens de programação.
Para os amantes de linguagens dinâmicas, o ranking tem dado boas notícias. Ruby foi declarada a linguagem do ano de 2006 e Python de 2007. E um amante de Lua como eu, não poderia deixar de notar o crescimento de Lua.
Nesse ano, muitas coisas boas aconteceram na comunidade Python. O Django vem se firmando quase que como uma escolha natural para o desenvolvimento web em Python – embora minha escolha seja outra. WSGI está se tornando um padrão de facto. Embora eu não goste muito desses, Zope 3 e Plone 3 estão aí, mais componentizáveis e tendo algumas de suas partesutilizáveis como componentes WSGI. SQLAlchemy está bem maduro, e Storm parece ser uma alternativa bem interessante.
Eu apenas lamento que muita coisa no Brasil seja centrada em Zope/Plone. Talvez haja uma luz no fim desse túnel. Eu ainda não vi.
Dignas de nota são as considerações de Paul Jensen:
- Python foi declarada a linguagem de programação de 2007. Foi uma disputa acirrada, mas no fim Python pareceu ter o maior crescimento percentual no período de um ano (2.04%). Não está claro porque Python teve esse grande salto em 2007. No último mês, pela primeira vez na história, Python ultrapassou Perl, o que é uma indicação clara que Python se tornou "de facto" a linguagem cola no nível do sistema. É especialmente amada por administradores de sistema e gerentes de build. Graças ao lançamento próximo de Python 3, as chances de Python se popularizar ainda mais são altas.
- Uma porção de tendências interessantes pode ser derivada dos dados de 2007. Primeiro, linguagens sem coleta de lixo automática estão perdendo chão rapidamente. As linguagens mais populares com gerenciamento explícito de memória, C e C++, perderam ambas 2% em um ano. Outra tendência é que a batalha entre as linguagens de script parece estar acontecendo ao fundo. Há um fluxo contínuo de novas linguagens. Em 2006, Ruby entrou na cena principal, seguida esse ano por Lua. Na lista das 50 mais, Groovy e Factor entraram em cena. nenhuma dessas novas linguagens de script para ficar permanentemente, são apenas substituídas por sucessores.
- Quem fez e aconteceu em 2007? Quem caiu? Os grandes vencedores são Lua pulou da 46ª posição para a 16ª), Groovy (da 66ª para a 31ª), Focus (da 78ª para 41ª), e Factor (surgindo em 45º lugar). As grandes quedas ficam por cnota de ABAP (da 15ª para a 29ª) e IDL (da 23ª para 48ª).
- O que esperar de 2008? O que aconteceu com nossas previsões em 2007? No início de 2007, eu pensei que C# e D seriam os vencedores e Perl e Delphi os perdedores. De fato, C# foi um dos grandes vencedores, e Perl um dos grandes perdedores. Mas as previsões para D e Delphi estavam completamente erradas. D não avançou. Por outro lado, Delphi ficou em 10º lugar... E sobre 2008? C, C++ e Perl continuarão a cair. C e C++ porque não tem coleta de lixo automática. C++ irá ter uma pedra no sapato ainda maior porque a Microsoft não está mais suportando a linguagem. Perl está morto. Java e C# irão finalmenente ser as 2 linguagens mais populares. Parece-me que elas crescerão em 2008. Adivinhar quais novas linguagens estarão na lista das 20 mais em 2008 é uma tarefa difícil, mas eu acho que ActionScript e Groovy são bons candidatos.
Caio Moritz fez uma pequena análise também, bem interessante. E você, o que pensa de tudo isso?
Lua entre as 20 mais do Tiobe
Como já era esperado desde o mês passado, Lua entrou na lista das 20 mais do ranking tiobe. E não apenas no 20º lugar, mas direto pro 18º, subindo 10 posições. A linguagem que saiu da lista foi Fortran (esse mês ficou em 21º lugar). Lua é uma linguagem minimalista, pequena e nem por isso menos poderosa ou versátil que outras linguagens populares atualmente como Python ou Ruby.
Lua foi desenvolvida por uma equipe de programadores do Lablua da PUC-Rio em 1993 para uso no projeto Tecgraf de computação gráfica, como uma linguagem de extensão. Por isso Lua possui uma API poderosíssima com a linguagem de programação C.
Apesar de leve e enxuto (a implementação de regex é maior que Lua inteira), é uma linguagem bastante completa e módulos complementares podem ser encontrados no LuaForge e no lua-users.
Meu uso de Lua atualmente envolve mais em fazer scripts para tornar o SciTE mais poderoso.Atualmente o framework mais bem acabado é Kepler, englobando módulos de suporte a banco de dados, XML, registro (logs), AJAX e um servidor web, Xavante. Meu amigo Rodrigo Cacilhas está desenvolvendo um projeto paralelo similar, chamado LuaWsgi, inspirado no padrão WSGI do Python. Dê uma olhada no blog do LuaWsgi!
Pylons, WSGI, Frameworks Ruby e Templates Engines
WSGI é uma especificação de comunicação entre servidores web e servidores de aplicação. Pondo de forma grotesca: é como o seu aplicativo em TurboGears ou Pylons se comunica com o Apache, Lighttpd ou qualquer outro servidor. O Cacilhas fez uma implementação de WSGI pra Lua. Na trilha disso, eu dei uma pesquisada e achei o Rack - uma especificação semelhante para o Ruby.
Christian Neukirchen fez um post introdutório sobre o rack onde ele menciona dois frameworks, o Camping e o Ramaze, que já suportam o rack. Como vocês podem ver, o Camping é mais um produto do why the lucky stiff, famoso pelo Poignant Guide to Ruby.
Não cheguei a ver os frameworks - deixo esse trabalho a vocês. Mas vi pelo menos uma coisa interessante:
O Camping usa Ruby pra gerar os templates! Um exemplo, retirado do próprio site do projeto:
def layout
html do
title { 'My HomePage' }
body { self << yield }
end
end
Esquisito? É porque vocês não viram o HAML ainda.
Eu não imaginava que a selva de templates tivesse chegado ao mundo Ruby, mas a página do Ramaze diz que ele suporta 7 templates engines. E não devem ser todas que existem! Será que já existe ZPT pra Ruby? O jeito é continuar com o bom e velho Erb.
Voltando ao Pylons, eu acabei conseguindo me virar com o CGI/FastCGI na segunda-feira. E com ele também não falta opção de escolha: o sistema de templates padrão é o Myghty, mas em breve será trocado para o Mako.
Talvez eu escreva um tutorial sobre Pylons, mas não estou prometendo nada. Mas acho que já testei o suficiente pra dizer que dos frameworks disponíveis pra Python, o que eu achei mais interessante foi ele.
