O mundo se rende à brasileira Lua
Apesar
de não ser tão famosa como seus “concorrentes” Ruby, PHP e Java, a
criação brasileira possui uma reputação muito boa entre desenvolvedores
de todo o mundo.
O que há em comum entre jogos dos mais avançados da atualidade, os
set-up boxes de TV digital, o Adobe Photoshop Lightroom e a Wireshark,
ferramenta de análise de rede muito usada em data centers? A resposta é
um belo tempero brasileiro: a linguagem Lua, desenvolvida por três
professores da PUC-RJ há 16 anos. Apesar de não ser tão famosa como seus
“concorrentes” Ruby, PHP e Java, a criação brasileira possui uma
reputação muito boa entre desenvolvedores de todo o mundo e tem como
principais destaques o código extremamente simples e a sua
portabilidade.
De acordo com Roberto Ierusalimschy, professor associado do departamento
de informática da PUC-RJ, a Lua surgiu sem nenhuma pretensão, dentro do
TecGraf, grupo de tecnologia formado numa parceria entre a PUC-RJ e a
Petrobras. Ela foi criada a partir da necessidade de integração de duas
outras linguagens, a SOL (Simple Object Language) e a Del (Data-entry
language). Ambas eram usadas em projetos de engenharia da Petrobras.
“Começamos com dois grupos de seis pessoas que estavam utilizando a Lua,
que nem tinha versão 1.0 ainda. Publicamos um artigo numa revista
voltada a desenvolvedores. Na época, em 1997, a Lucas Arts não estava
contente com a Scum, usada para o desenvolvimento de games. Foi então
que Tim Schafer, criador do game Grim Fandango, leu o artigo e resolveu
desenvolver o jogo usando Lua. Foi nossa primeira grande aparição
mundial”, afirma Ierusalimschy.
O mundo dos games
O Grim Fandango foi lançado em 1998 e foi um dos grandes sucessos da
época. A partir daí, a Lua passou a estar presente em jogos dos mais
avançados. Ela é muito eficiente para criar roteiros dos games, servindo
como base para a C++, que entra no design mais avançado. Só para ter uma
ideia da lista de games “Power by Lua”: World of Warcraft, GTA IV,
Crysis e Street Fighter 4. “O problema é que a competição tecnológica
entre as empresas que desenvolvem os games é muito grande. Pelo nosso
acordo de licença, basta às empresas citarem que utilizam a linguagem,
mas não efetivamente onde estão usando”, diz o professor.
A portabilidade é uma das principais vantagens da Lua. De acordo com
Ierusalimschy, a linguagem não roda apenas em diferentes sistemas
operacionais, mas também em dispositivos de todos os tipos, mesmo no
hardware mais simples. “Ela pode rodar em um chip de um micro-ondas, ou
um que controle robôs, passando por consoles de videogames e até
computadores de alta capacidade”, afirma o criador da linguagem.
Tv Digital
Outra utilização da Lua que deve ganhar fama em breve é no Ginga,
middleware que será usado nos setup-box de TV digital. Lá for a,
decodificadores da Verizon e da Voodoo são equipados com a linguagem
brasileira. Já o Sistema Brasileiro de TV digital deve ter opções de
sistemas rodando em Java e em Lua.
Segundo o professor, a Lua é mais indicada para equipamentos menos
sofisticados, e por isso com um preço mais baixo. O Java seria a melhor
opção para aplicações mais robustas, com interação entre o sinal da TV e
a internet. “Para programas mais complexos, acima de 500 mil linhas de
código, é mais indicado usar o Java, que é uma linguagem mais robusta”,
diz Ierusalimschy.
Simples de aprender
O professor conclui ressaltando a simplicidade de se trabalhar com a
Lua, que é baseada numa arquitetura modular: um núcleo que acessa
informações de bibliotecas básicas. Segundo ele, qualquer programador
com um nível bom aprende rapidamente como trabalhar com a linguagem.
O primeiro livro sobre Lua só foi publicado em 2003. Até então, os
profissionais baixavam o código puro e usavam apenas o manual. Hoje há
uma série de publicações que fala sobre Lua, incluindo um livro de mil
páginas sobre o uso da linguagem no World of Warcraft. “Estamos na
versão 5.1 da Lua, que ganha atualizações de três em três anos. Até o
final do ano pretendemos anunciar a versão 5.2”, conclui Ierusalimschy.