Press clippings
Also available are old press releases in English and Portuguese issued in Nov 2000.
[Caderno: Economia, Coluna: Conexão Global, Página: 19]
Escrito em inglês pelo autor, o volume teve uma noite de autógrafos tardia no Rio há pouco, e já ultrapassou a marca de mil exemplares vendidos (a maioria lá fora, onde a linguagem -- totalmente livre e aberta -- tem grande prestígio e foi até alvo de mesa-redonda da Microsoft na última Conferência Mundial de Desenvolvedores de Games).
-- Minha idéia ao escrever o livro era divulgar mais e complementar a documentação sobre a Lua -- contou-nos Roberto, por telefone. -- O site www.lua.org tem um manual que vem junto com o pacote da linguagem, mas faltavam exemplos de uso e de como resolver determinados problemas ao trabalhar com Lua.
O interessante é que, no processo de escrever o livro, o próprio Roberto foi reformulando trechos da linguagem. No prefácio, ele escreve: "À medida que eu trabalhava no livro, de repente empacava num capítulo. (...) É quando você tenta explicar como se usa algo que acaba percebendo quão fácil é usá-lo (ou não)." Não por acaso, quando o professor começou o livro, em 1998, a linguagem Lua ainda estava na versão 3.1 e, ao terminá-lo, ela chegara à marca 5.0.
-- Esta versão recauchutou o conceito de co-rotina, ou multithreading cooperativo [ em que várias linhas de comando parecem estar sendo executadas ao mesmo tempo, mas na verdade se passa dinamicamente o controle para um ou outro comando ] -- explica Roberto. -- Isso torna o programa mais leve e fácil de implementar. Em suma, aumenta sua portabilidade. Também foi melhorado o sistema de construção de pacotes, para fazer softwares maiores.
Ou seja: viver no mundo da Lua já não tem mistérios. Maiores informações sobre o livro podem ser obtidas com o próprio Roberto (veja contatos dele e da turma em www.lua.org/authors.html. Ele também pode ser comprado na Amazon por cerca de US$ 24.
Como o nome indica, Lua é um satélite de linguagens mais pesadas, como C e C++. Ela pode ser comparada com o texto de um roteiro de cinema, novela, filme. O programador de Lua determina ações para o que foi criado antes conta Ierusalimschy, PhD em Ciência da Computação.
Ele, Celes e de Figueiredo centralizam o desenvolvimento do software. Lua é regida pela licença MIT, do Instituto de Tecnologia de Massachusetts. Ela permite alterações do código-fonte em outras versões da linguagem, sem a necessidade da sua abertura. A única condição para o seu uso é a menção do copyright dos três criadores e da PUC-Rio.
A licença dá liberdade às empresas para lançar qualquer programa que use Lua sem mostrar o código ou aplicá-la em projetos internos explica Ierusalimschy. A linguagem foi adotada pela indústria de games. Em Far cry, ela é usada para configurar o uso de armas, gráficos e sons durante o jogo, além do comportamento da excepcional inteligência artificial dos adversários. Mas foi com Grim fandango, lançado em 1998, que Lua se popularizou.
No mesmo ano, o programador de Lua da Lucas Arts, que desenvolveu o jogo, divulgou as suas vantagens durante a Game Developers Conference, encontro anual e o maior dos profissionais do entretenimento eletrônico.
Além da menção do uso da linguagem, a empresa imortalizou o software da PUC em um dos títulos de maior sucesso. Em Escape from monkey island, lançado em 2000, o personagem principal, e o jogador, visitam o Lua Bar como parte do enredo da aventura.
Mas foi no GDG 2004 que a popularidade de Lua se afirmou. Jon Burns e David Eichorn, da Microsoft Game Studios, promoveram a mesa-redonda Lua na indústria dos games, sem o conhecimento do trio de criadores da universidade carioca.
Foi uma ótima surpresa e mostrou que o software já caminha sozinho celebra Ierusalimschy.
A Microsoft é uma das grandes usuárias de Lua, mas a lista continua. Além da empresa de Bill Gates, a Rockstar Games (Grand theft auto), BioWare (Baldur's gate) e People Can Fly (do recente Painkiller) também adotaram a linguagem em seus projetos, seja para PC, XBox ou Playstation 2.
- Temos alguns funcionários da Intel na lista de discussão de Lua, que já conta com mais de 700 assinantes. Eles a usam para desenvolver processadores, mas a empresa guarda os detalhes a sete chaves - conta Ierusalimschy.
Mas, até janeiro de 2003, Lua era uma das integrantes do maior empreendimento da humanidade - a exploração espacial. A linguagem era usada no controle dos níveis de concentração de gases perigosos na preparação para o lançamento do ônibus espacial.
O uso extenso de Lua abre espaço para a especialização na linguagem pelos profissionais e oferta de emprego no Brasil e no exterior.
- Encontro com freqüência anúncios de trabalho para programadores de Lua no Gamasutra.com - afirma o professor. A página é referência para a indústria.
O americano Curt Carpenter, 35 anos, trabalha na linha Novos Produtos Para o Consumidor da Microsoft, e também é um usuário de Lua. Ele confirma a oferta de empregos mas avisa:
- Ela é de aprendizagem simples e por isso não aconselho uma especialização em Lua sem conhecer outras linguagens como C ou C++.
O programador afirma que a facilidade de aprendizado é uma vantagem.
- A documentação de Lua cabe em 20 páginas. Ela é muito elegante. Em cada nova versão, o trio de administradores aperfeiçoa as características existentes e inclui novas na medida ideal.
Se trabalhar com Lua pode ser um objetivo a perseguir, aprender a linguagem ainda é um desafio. Embora ela seja simples, não há uma estrutura didática formal. A PUC-Rio oferece uma matéria eletiva, mas não há um curso que atenda a um grupo maior de interessados.
- A melhor dica é o livro Programming with Lua - lançado por nós, da equipe - explica Ierusalimschy.
A obra é mais um exemplo de como a linguagem está difundida no exterior. Em inglês, ele é distribuído apenas fora do Brasil e encontrado em livrarias virtuais. Segundo os coordenadores de Lua, nenhuma empresa nacional do setor se interessou pela edição, publicação, distribuição ou venda locais.
Mesmo sem o livro, os interessados podem acessar o Lua-users, um site criado pelo trio acadêmicos mas mantido pelos usuários do software. A página apresenta tutoriais, manuais, versões de Lua para vários computadores e, principalmente, congrega os esforços individuais de empresas e programadores em uma fonte coletiva de conhecimento.
Para completar, a iniciativa carioca conseguiu uma importante parceria através do programa Academic Alliance, lançado pela Microsoft. Para fazer a adaptação da Lua para a plataforma .Net, a gigante do software vai destinar US$ 15 mil à universidade. O projeto, com duração de uma ano, prevê ainda o acesso gratuito a ferramentas de desenvolvimento da Microsoft durante o período. Neste prazo, a universidade poderá não só conhecer melhor os produtos da empresa, mas também de contribuir em novos projetos. A Microsoft pretende estabelecer um contato contínuo com instituições de ensino e pesquisa na área e a PUC, que com a Lua, foi a primeira instituição da América Latina escolhida para integrar o projeto.
O objetivo inicial da Lua era contornar uma deficiência de comandos verificada por geólogos da Petrobrás quando precisavam confrontar informações colhidas nos poços de petróleo. Mas ficou conhecida mundialmente por ter sido utilizada na confecção de dois dos mais famosos jogos do estúdio LucasArts: Grim fandango e Fuga da ilha dos macacos. A linguagem é responsável pela parte mais criativa do game - o roteiro com flexibilidade. Até o final do ano, a versão 5.0 da Lua, desenvolvida pelos professores Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes, estará pronta.
Apesar do nome, a Lua não tem nada do outro mundo e também, não é uma sigla. ''A equipe do professor Roberto Ierusalimschy estava desenvolvendo uma outra linguagem chamada Simple Object Language (SOL), mas não chegou a terminar. Então, resolvemos fazer uma mais simples. Se a SOL era mais complexa, por que não a mais simples se chamar 'Lua''', explica o professor Renato Cerqueira, do Departamento de Informática da PUC.
O diferencial da linguagem é justamente sua flexibilidade e simplicidade. A Lua é constituida de uma biblioteca escrita em C e compilável para qualquer plataforma compatível com os padrões Windows, Solaris, Linux, Macintosh, PlayStation, XBox, Palm, entre outras. Pode ser usada desde estilo funcional, até como linguagem de script. ''A Lua também tem sido bastante usada para construção de sites com páginas dinâmicas, como o .asp e .php'', conta o professor Cerqueira.
Qualquer pessoa, inclusive roteiristas, designers e profissionais de arte, consegue usar a linguagem, fazendo com que fosse utilizada para a programação de games. ''Queríamos permitir aplicações mais configuráveis e fáceis de operar por diferentes usuários'', conta Cerqueira. E eles conseguiram. No entanto, os criadores da Lua não ganharam nada por isso. Só reconhecimento.
Quem quiser baixar o sistema, pode fazê-lo de graça pela internet. Os pesquisadores da PUC-Rio não têm controle do número de downloads que já foram feitos devido a grande quantidade de espelhos em ação. Ierusalimschy, um dos pais da Lua, estima que, de 1996 a 2000, foram feitos mais de dez mil downloads. Isso sem contar com os espelhos do Japão, Dinamarca, Alemanha, Grécia, Estados Unidos e Brasil. ''Nosso site recebe cerca de 500 visitas por dia, e temos cerca de dois mil downloads por mês. E não pode ser esquecido que revistas de informática do Japão, França e EUA já disponibilizaram a linguagem'', conta Ierusalimschy. A equipe apenas pede que o crédito seja dado onde a Lua for usada.
Eles não têm idéia de quantas pessoas fazem uso da linguagem Lua, mas hoje existem sites que a reproduzem nos Estados Unidos, no Japão, na Dinamarca e na Alemanha. Desses sites, os usuários também podem baixar o programa. Qualquer um consegue usar. A única exigência é que coloquem nos créditos "copyright do Tecgraf, PUC/Rio de Janeiro". [...]
A LucasArts, dizia Mogilevsky, estava usando o Lua para desenvolver jogos de computador. Melhor: Mogilevsky estava encantado com o programa. Thank you very much. Valeu, mesmo!
Opa! Valeu? Mais ou menos. O Lua -- assim como o Linux e outros programas chamados software livres -- é distribuído gratuitamente na Web.
Os criadores do programa só perceberam o sucesso do Lua no exterior depois de receber as primeiras mensagens de agradecimento. Aí, Ierusalimschy começou a pesquisar o alcance do programa no mundo. Descobriu que, hoje, mais de 30 empresas e instituições do gabarito de Xerox, Microsoft e da agência espacial americana (NASA) usam o programa para fins tão diferentes como construção de websites ou pesquisas sobre inteligência artificial.
O Lua é, por exemplo, uma das linguagens usadas no AXAF (Advanced X-ray Astrophysics Facility), o terceiro dos grandes observatórios espaciais lançados no espaço pela NASA, com a tarefa de simular em imagens os sinais recebidos do espaço. O Lua é também um dos componentes do cérebro do Crazy Ivan, o robô que ganhou o concurso de inteligência artificial da RoboCup 2000, concurso de robôs realizado na Dinamarca. A lógica contida no Ivan, segundo os fabricantes do robô, foi desenvolvida usando o Lua. O fato é que o programa se alastrou na rede. Uma lista de discussão sobre ele, na Internet, já tem 400 nomes cadastrados. Destes, apenas 100 são brasileiros. "Estamos nos espalhando", afirma Ierusalimschy.
A popularidade do Lua, segundo seu criador, tem dois motivos. Trata-se, em primeiro lugar, de um programa muito fácil de usar, mesmo em sistemas complexos, como os das empresas de grande porte. Segundo, o Lua se adapta igualmente a um supercomputador ou a um palmtop.
Essa flexibilidade tem motivo. Por causa da lei das licitações, durante anos a Petrobras comprou computadores de todo tipo e qualidade. O Lua foi criado, a pedido da estatal, para se adaptar a todos eles.
Com tanto sucesso, por que o professor e sua equipe não ficam milionários? "Todo mundo pergunta por que não estamos ricos", diz Ierusalimschy, que vive hoje como há cinco anos. A resposta é que na Web é assim mesmo. Se fosse pago, o Lua não seria o sucesso que é hoje. É o fato de ser grátis que permite colaborações no desenvolvimento do programa. Os grandes concorrentes do Lua também são gratuitos. "Uma coisa é inventar algo para a Web, outra bem diferente é ganhar dinheiro com isso", diz o professor.
As recompensas, neste caso, são de outro tipo. Os criadores do Lua gozam hoje de fama internacional e de reconhecimento no Brasil (o que ajuda sua carreira acadêmica). Além disso, os usuários do Lua costumam fazer homenagens prosaicas. Um dos bares que aparece no jogo Escape from Monkey Island IV (fuga da ilha dos macacos), da LucasArts, é o Lua's Bar, em homenagem à linguagem. Além disso, há os e-mails de agradecimento e elogio, que, se contassem a história como ela é, deveriam conter mensagens assim: "Estamos fazendo montanhas de dinheiro com a ajuda do seu programa, que é de graça. Brigadão, hein!"
A Lua, como ela foi batizada, chamou inclusive a atenção da LucasArts. empresa especializada em produção de games, cujo dono é o premiado diretor de cinema George Lucas, que já produziu uma série de jogos a partir da combinação da nova linguagem com a C++. O mais recente é o Grim Fandango.
Além de dar uma mãozinha na empresa de George Lucas, a Lua ajudou a criar um software que simulava as imagens geradas por um telescópio lançado pela NASA em 1998. No Instituto do Coração em São Paulo, o Incor, o servidor do sistema que monitora pacientes da UTI via Web é escrito em Lua.
Em São Francisco, a Yindo, uma companhia emergente que atua em programação de aplicações, está desenvolvendo um programa com a Lua. "Na Califórnia, Lua é um nome tão forte que a Yindo propôs que associássemos nossos nomes à linguagem. Disseram que, além de oferecer um diferencial tecnológico, ela já está oferecendo um diferencial também mercadológico", afirma Roberto Ierusalimschy, um dos criadores.
Roberto Ierusalimschy estima que, de 1996 a 2000, foram feitos mais de dez mil downloads, levando-se em consideração os espelhos do Japão, Dinamarca, Alemanha, Grécia, Estados Unidos e Brasil. Isso sem contar os espelhos que eles não conhecem.
A distribuição gratuita da Lua foi uma opção dos pesquisadores, que não pensam em transformar a linguagem em uma fonte de renda. "No começo, em 1996, a linguagem seria de graça para o meio acadêmico e cobraríamos um valor para uso comercial. Mas depois pensamos bem e vimos que não existe uma barreira entre o acadêmico e o comercial. Alguns projetos em desenvolvimento já são pensados para uso comercial", revela Roberto.
Além de dar uma mãozinha na empresa de George Lucas, a Lua ajudou a criar um software que simulava as imagens geradas por um telescópio lançado pela Nasa em 1998. No Instituto do Coração em São Paulo, o Incor, o servidor do sistema que monitora pacientes da UTI via web é escrito em Lua. A linguagem foi usada também na criação da interface da CPC 4400, uma placa de switch para rede Ethernet.
"A Lua foi projetada para ser usada junto com as linguagens C ou C++, por isso é tão usada em games. Ela prioriza a eficiência do programador em detrimento da eficiência da máquina. A C e a C++ agem ao contrário, razão pela qual podemos dizer que há um equilíbrio com a combinação dos dois. Na Java existe um recurso chamado métodos nativos que permite à linguagem interagir com a C, mas isso evita que se use o "pure" Java, que é melhor de programar do que a C, mas é menos eficiente", explica Roberto Ierusalimschy.
A linguagem Lua está disponível de graça na internet desde 1996. Os pesquisadores não têm controle do número de downloads que já foi feito, pois, segundo Roberto Ierusalimschy, existem muitos espelhos (sites que pegam o software "emprestado" e o tornam disponível para download) em ação. Roberto estima que, de 1996 a 2000, "foram feitos mais de dez mil downloads, levando-se em consideração os espelhos do Japão, Dinamarca, Alemanha, Grécia, Estados Unidos e Brasil. Isso sem contar os espelhos que não conhecemos, mas que provavelmente repetem essa prática".
A distribuição gratuita do Lua foi uma opção dos pesquisadores, que não pensam em transformar a linguagem em uma fonte de renda. "No começo, em 1996, a linguagem seria de graça para o meio acadêmico e cobrado um valor para uso comercial. Mas depois pensamos bem e vimos que não existe uma barreira entre o acadêmico e o comercial. Alguns projetos em desenvolvimento já são pensados para uso comercial", revela Roberto.
O professor Roberto Ierusalimschy, do Departamento de Informática da PUC, e os consultores do TeCGraf, Waldemar Celes e Luiz Henrique de Figueiredo, criaram a linguagem em 1993. O objetivo inicial era contornar uma deficiência de comandos verificada por geólogos da Petrobras quando precisavam confrontar informações colhidas nos poços de petróleo.
- A nossa linguagem está em um processo constante de criação e aprimoramento. Já fizemos novas versões e acrescentamos coisas diferentes. Ela não é um produto final, mas para ser usada na construção de outras coisas. Lua sacrifica eficiência em troca da flexibilidade, e é mais fácil de ser trabalhada, explica o professor Roberto Ierusalimschy.
Segundo ele, a linguagem de programação se tornou realmente conhecida nos Estados Unidos em 1996, quando saiu um artigo na revista especializada americana Dr. Dobbs. Um ano depois, um executivo da LucasArts enviou um e-mail dizendo que usou Lua para montar os jogos Grim Fandango e Escape from Monkey Island IV. Era o reconhecimento chegando.
Hoje, Lua tem vários campos de aplicação diferentes. O mais recente é o de uma empresa americana que a está usando em um switch ethernet, uma placa onde ficam todos os fios de rede para fazer conexão externa e também a conexão entre esses fios. Além disso, a linguagem também serve como ferramenta para designers.
Quando Lua se espalhou para o mundo, em 96, tinha a vantagem de já ter sido testada durante três anos no TeCGraf, tanto em termos de qualidade, quanto de utilidade. Isso foi muito importante porque foi dando um retorno dos usuários no sentido de ir aprimorando algumas falhas, ressaltou Roberto.
Segundo o professor, uma das razões para o fato de a linguagem ter conquistado primeiro os Estados Unidos são as características do mercado americano. "Lá, devido à enorme competição, para uma empresa dar certo, ela deve apresentar um diferencial tecnológico. Lua está funcionando como um", finaliza.
Os americanos chegaram lá, mas nós somos os donos da Lua. Sério. É só conferir com Roberto Ierusalimschy - um dos criadores da linguagem de programação Lua, surgida no TeCGraf (Grupo de Tecnologia em Computação Gráfica, parceria da PUC-Rio com a Petrobras). Roberto, engenheiro de sistemas com pós-doutorado na Universidade de Waterloo, no Canadá, professor associado do departamento de informática da PUC-Rio e consultor do TeCGraf, criou a linguagem junto com os companheiros Waldemar Celes e Luiz Henrique de Figueiredo e a viu correr mundo. Ele nos revelou a trajetória do software em seu escritório, sob os auspícios do logotipo "lunar" da linguagem.
ROBERTO IERUSALIMSCHY: Quando a criamos, em 1993, planejávamos uma linguagem maior, chamada SOL (Simple Object Language), mas depois desistimos dela e pensamos em reduzi-la. Aí, alguém sugeriu: já que vocês vão fazer algo menor do que o Sol... E veio o nome Lua.
ROBERTO: A idéia básica é ser uma linguagem que sacrifica um pouco eficiência de execução (não é tão eficiente como, por exemplo, C e C++, mais pesadas) em troca de flexibilidade. Lua é mais fácil de programar, você não tem que se preocupar com certas coisas. Mas seu maior diferencial é ter uma interface muito fácil com C e C++. Então, a idéia central é uma mistura: fazer partes do seu programa em C e partes em Lua, de modo que, onde você precisa de mais eficiência da máquina, usa o C; e onde precisa de mais flexibilidade para experimentação, usa Lua. Ela permite um equilíbrio melhor entre essas duas coisas, além de ser mais fácil de modificar. Pode-se, por exemplo, mexer na instalação sem ter que recompilá-lo... E também é uma linguagem com total portabilidade. Roda desde Windows a Unix e Linux, passando por sistemas como BeOS, OS/2, Amiga, e mesmo em PlayStation e supercomputadores Cray.
ROBERTO: Há uma que citamos muito, até porque foi aquela para a qual desenvolvemos Lua. A Petrobras, parceira do TeCGraf, precisava traçar um perfil de poço de petróleo. Na prospecção, a broca desce com várias sondas, e os geólogos acompanham o processo. As sondas vão colhendo informações à medida que o poço é perfurado. Essas informações, então, são plotadas numa tela de computador - temperatura, condutividade do material naquela profundidade, resistência, pressão. Há vários programas que apresentam isso na tela. E existe um monte de fatores complexos de configuração que o geólogo quer ver. Às vezes, ele quer ver uma coluna do lado da outra, às vezes quer verificar outro tipo de informação, mudar cor ou escala, mudar o grid, etc. E isso é muito complicado de fazer trabalhando apenas numa interface gráfica, porque nela sempre fica faltando alguma coisa. Então, quando o geólogo precisava de mais comandos, ligava para nós, e tínhamos de gerar um novo programa e mandar para a plataforma. Desenvolvemos Lua para pôr fim a esse problema. Com ela, alguém que tenha alguma formação técnica pode fazer ele mesmo essa configuração. A linguagem é suficientemente simples para a pessoa mexer e adaptar às suas necessidades. Assim, o programa tem uma parte em C, que cria a parte gráfica, etc., e a parte em Lua, que diz para a parte em C como pôr as coisas, em que ordem, e assim por diante.
ROBERTO: Sim. Depois, em 1994, pusemos essa versão inicial de Lua na Internet, com acesso público. E o próprio pessoal do TeCGraf começou a usá-la em outras aplicações - programas de coleta de dados, análise de peças... Aos poucos, fomos percebendo que era possível ter uma única linguagem que já trouxesse em si os mecanismos de adaptação. Que já fosse feita para ser adaptada. Com esses novos usos do TeCGraf, conseguimos ir uniformizando a linguagem. Até que chegou um momento em que, ao surgir uma nova possibilidade de utilização, dizíamos: pegue Lua e encaixe no que você quer fazer.
ROBERTO: Em 96, saiu um artigo na revista ``Dr. Dobbs'', especializada em programação. Na época, estávamos lançando a versão 2.5, com várias novidades, facilidades para tratamento de streaming, etc. E aí a coisa explodiu. Muita gente mandou e-mails, a gente via os logs do pessoal pegando via ftp (e eram 40, 50 pessoas pegando num dia só), e começou o boca-a-boca sobre a linguagem, em listas de discussão, newsgroups... Um programador da LucasArts foi um dos primeiros a pegar.
ROBERTO: Exato. Seu nome é Bret Mogilevsky. Ele pegou Lua via ftp e mandou-nos um e-mail dizendo: ``aí, a linguagem é muito boa, gostei...'' Nem nos tocamos na época. Algum tempo depois, Mogilevsky escreveu de novo, dizendo que tinha usado Lua no ``Grim Fandango''.
ROBERTO: A linguagem C faz toda a parte de renderização (a parte gráfica, pesada, que inclui criar todos os detalhes da animação, sombras, e assim por diante). Já o script do jogo - o que o personagem faz, como reage a determinada conjuntura - é todo comandado por Lua. O designer do roteiro de jogo não trabalha em C, e sim programa em Lua. Como o geólogo da Petrobras, ele não é um programador profissional, mas um especialista em criar games que usa Lua como ferramenta. No caso, o Bret é o programador oficial do jogo. O que ele fez? Botou Lua dentro do sistema, acoplando-a às partes mais pesadas, em C, e a ofereceu aos designers.
ROBERTO: Sim, ela é open source. Mas não é baseada na GPL, porque a GPL, você sabe, é aquela licença ``virótica'' (risos): é livre, mas só pode ser usada segundo seus parâmetros. A nossa, não. É totalmente livre e você pode usar como quiser. Pode empacotar, vender. O copyright é nosso, mas só exigimos o crédito. Inicialmente, em 94, a liberamos só para pesquisa, mas não deu certo. É que nossa concorrência - TCL, Perl, por exemplo - é livre.
ROBERTO: A versão 4 é mais eficiente que as anteriores (demos uma ``faxina'' no código, melhoramos os algoritmos) e ``reentrante'', ou seja, num mesmo sistema ou programa, você pode ter vários ambientes Lua totalmente independentes rodando. O usuário pode abrir várias janelas, cada uma com seu interpretador e respectivas variáveis e comandos. A versão final sai em cerca de um mês.
ROBERTO: A Yindo está desenvolvendo um plug-in baseado em Lua, e somos consultores apenas da parte do projeto relacionada à linguagem. A coisa toda surgiu em julho passado, quando fui ao Silicon Valley, visitar uma amiga que mora em Cupertino. Antes, mandei um e-mail para a lista de discussão sobre Lua, avisando que estaria por lá, à disposição de quem quisesse conversar sobre o tema. Aí, a Palm me chamou para fazer uma palestra sobre Lua (há várias pessoas usando a linguagem em ferramentas de desenvolvimento de software no Palm OS), e esse pessoal da Yindo me convidou para uma conversa em São Francisco. E eles me disseram: ``O que queremos são os nomes de vocês no projeto. Porque Lua já é suficientemente conhecida aqui para que esses nomes sejam um diferencial e dêem mais peso ao projeto.'' Eles estão, agora, na pior fase do projeto, que é arranjar o investidor inicial, e acreditam que citar o uso de Lua e o nosso apoio é um diferencial tecnológico.
ROBERTO: Eles querem fazer um concorrente para o Flash, cujo maior problema é a linguagem meio complicada. O que a Yindo propõe é utilizar Lua para programar esse tipo de ferramenta, e valer-se do OpenGL como padrão gráfico. É um plug-in gráfico, com elementos 3D, que supostamente permite interatividade maior, por exemplo, em games. O usuário carregaria o plug-in deles, com um programa em Lua descrevendo o game, e jogaria em seu micro. Já existe um demo na rede, rodando em <www.yindo.com>. (PS: O nome deste plug-in também é Yindo.)
- O CGILua é um programa escrito em C onde você embute trechos escritos em Lua. E o executável do CGILua faz toda a comunicação desse trecho Lua com o protocolo http da Internet. Ou seja, ele faz o papel do CGI. - diz.
E qual é a vantagem de usar CGILua? Segundo André, é o controle que se ganha sobre o ciclo de desenvolvimento do software, pois Lua é considerada uma linguagem mais indicada para fazer coisas complicadas do que o Perl, por exemplo.
- O Perl é uma linguagem muito fácil para montar páginas - ressalva. - Mas se você quer montar um conjunto de páginas que interagem, como o Publique!, Lua é mais indicada. Ela foi pensada para sistemas que são configuráveis, que têm interações maiores. E permite, dentro do ciclo de um produto, o desenvolvimento de sistemas, sua documentação, a formatação das páginas... Tudo em grupos separados.
Segundo ele, Lua, com seus arquivos de configuração, possibilita que, ao mesmo tempo em que se cria a funcionalidade das páginas, elas estejam sendo diagramadas na produção, e os textos, elaborados por um redator - tudo ao mesmo tempo.
- Não é um ambiente onde o desenvolvimento é feito em série, e sim em paralelo. A flexibilidade de Lua me permite pegar um arquivo de configuração, digamos, de texto e colocar o site todo em inglês apenas mexendo naquele arquivo. Não preciso nem reprogramar nada.
No site do TeCGraf, há uma página dedicada a Lua, com vários links (para listas de discussão, páginas de ftp, projetos baseados no software) e um manual introdutório em *.pdf sobre a linguagem. E já existe um curso sobre CGILua, na Penguin House, em Niterói, a cargo de Tomás Guisasola Gorham, que (como André) fez mestrado na PUC-Rio, e trabalha com Lua desde 95, tendo desenvolvido bibliotecas de aplicações baseadas na linguagem.
A linguagem de programação Lua surgiu em 1993, com a necessidade interna do Departamento de Informática de realizar tarefas difíceis na área da Informática. O primeiro projeto foi realizado numa parceria entre o Departamento de Informática da PUC e a Petrobras. O apoio de que a Petróleo Brasileiro S/A precisava estava numa das operações mais delicadas da empresa: as escavações.
- Com essa nova linguagem, a Petrobras pôde estabelecer um roteiro - pelo computador - detalhado de como seriam conduzidas as escavações. A empresa passou a economizar tempo e conseguiu organizar mais os detalhes específicos das escavações, como temperatura certa da água e local de atuação das escavadeiras - disse o professor Roberto Ierusalimschy, associado do Departamento de Informática da PUC- Rio.
A principal diferença em trabalhar com Lua é que esta pode ser integrada a outros programas. Só para se ter uma idéia da importância dada à linguagem no exterior, Lua foi utilizada pelos programadores da LucasArts Entertainment na confecção de dois jogos famosos no mercado: "Grim Fandango" e "Escape from Monkey Island".
Outra prova do conceito que Lua tem no exterior foi a proposta de emprego da empresa americana Yindo feita aos pesquisadores e criadores de Lua. A Yindo deseja desenvolver um produto para concorrer com o Flash, programa de animação da Macromedia, e quer integrar a linguagem Lua para atrair os chamados "Angel Investors" (investidores "anjos", aptos a investir em outras empresas).
- O interesse de outras empresas em Lua ocorre porque essa linguagem de programação ocupa pouco espaço no HD do computador, é mais rápida entre as chamadas linguagens de extensão - que é uma sub-divisão da linguagem de programação - e é mais fácil de interagir com outros programas. No caso da Yindo, os donos da empresa consideram que o uso de Lua em seus programas seria o diferencial tecnológico necessário para atrair investidores - disse Ierusalimschy.
A Fábrica Digital foi uma das primeiras empresas a fazer parte do Projeto Gênesis - a incubadora de empresas da PUC-Rio - e hoje já tem independência no mercado. O objetivo principal é fazer com que mesmo o usuário inexperiente consiga desfrutar do potencial máximo da tecnologia da intenet de uma maneira descomplicada, rápida e a um custo acessível.
- Com a utilização de Lua, a Fábrica Digital pôde aumentar de forma significativa a produtividade da equipe de desenvolvimento e produção de páginas HTML. A facilidade de programação e os recursos de configuração da linguagem permitiram o desenvolvimento de produtos extremamente flexíveis - disse André Carregal, gerente de desenvolvimento da Fábrica Digital.
Os resultados da opinião de Carregal são justificados devido ao reconhecimento que a empresa conquistou junto ao governo. Os projetos da Fábrica Digital receberam aprovação governamental.
Mais: conquistaram verbas de vários programas, como o de Apoio ao Desenvolvimento Científico e Tecnológico (PADCT/Finep) e o Programa de Capacitação de Recursos Humanos para Atividades Estratégicas (RHAE/CNPQ), ambos vinculados ao Ministério da Ciência e Tecnologia.
No caso desses jogos - um dos muitos campos onde Lua tem sido utilizada com sucesso -, essa linguagem atua como um script, determinando a execução dos movimentos dos personagens, bem como os diálogos dos mesmos. Lua "dita" às outras linguagens de programação o que deve ser feito em termos de animação ou som, como se fosse uma diretora.
Seguindo esse raciocínio, quem executa o movimento é, por exemplo, C++, mas quem determina qual o movimento a ser executado é a linguagem de programação Lua.
Com base nesse sistema, conta Roberto Ierusalimschy, um dos criadores de Lua, a Yindo produzirá um software para competir com o Flash, da Macromedia. `A universidade dá consultoria para a Yindo, que está desenvolvendo o sistema, tendo, inclusive, uma versão demo (para demonstração) à disposição no site (www.yindo.com)', conta Roberto. Criada em 1993 com o intuito de facilitar as aplicações usadas por outras linguagens mais complexas, Lua já foi empregada, por exemplo, na concepção de diversos programas da intranet (rede interna) da Petrobras.
Por ser mais dinâmica do que outras linguagens do gênero, Lua foi utilizada pelos programadores da LucasArts Entertainment na confecção de dois jogos: o Grim Fandango e o Escape from Monkey Island IV. Esta semana está sendo lançada a versão [4.0] Beta, com uma vantagem adicional: a velocidade.
Outra utilização da linguagem, que já foi tema de dez teses de mestrado e quatro de doutorado, é na construção de websites.
Considerada uma concorrente da linguagem Java, a CGILua, como é chamada esta aplicação, foi empregada, por exemplo, na concepção das páginas da Xerox brasileira e do projeto Portinari.
Embora seja muito conhecida no meio dos programadores, a linguagem ainda é pouco difundida comercialmente, admite o professor.
A partir de 1996, quando a revista especializada em informática Dr. Dobbs publicou artigo sobre Lua, lembra o acadêmico, vem havendo maior interesse pelo sistema. `Logo no ano seguinte, Lua recebeu o prêmio Compaq na categoria desenvolvimento', comenta Roberto, acrescentando que o sistema pode ser obtido gratuitamente pelo site www.lua.org.
O TeCGraf, cuja principal parceira é a Petrobras, recebe cerca de R$ 4 milhões anualmente da empresa estatal de petróleo e outros apoiadores como CNPq, Cepel, Finep e ANP. Integrante do Centro Técnico-Científico da PUC (CTC) e ligado ao departamento de informática, o laboratório já desenvolveu - em parceria com outros centros de pesquisa - uma série de produtos voltados para as operações navais da Petrobras, como MeshGenerator (modelos de plataformas e navios).
No CTC, que integra dez departamentos da universidade, incluindo os de ciências materiais e metalurgia, 85% dos recursos oriundos de projetos patrocinados ou feitos em parceria são reinvestidos na infra-estrutura e formação de docentes e pesquisadores da universidade.
"Depois de ler o artigo no Dr. Dobbs sobre a Lua, eu fiquei muito interessado em experimentar a linguagem ... e ela superou todas as minhas expectativas! Sua elegância e simplicidade me deixaram muito surpreso! Parabéns por desenvolverem uma linguagem tão bem pensada."Você pode encontrar as mais diversas informações (inclusive em português) no site oficial da Lua. E nós, aqui da ADVP, gostaríamos de dar nosso humilde parabéns àquelas pessoas que produziram essa linguagem, direta ou indiretamente! Continuem sempre assim!!!
-- Bret Mogilefsky, LucasArts
O primeiro lugar na categoria de pesquisa científica ficou com um grupo de estudantes orientados pelo professor de Computação Nivio Ziviani, da Universidade Federal de Minas Gerais. O grupo, formado pelos pesquisadores Eduardo Barbosa e Ricard Baeza-Yates, criou um algoritmo para armazenar e recuperar arquivos em bancos de dados com maior rapidez. "O volume de informações aumentou depois da disseminação da Internet, e criamos um software para guardar dados em memórias de acesso mais veloz", explica Ziviani, professor titular do Departamento de Ciência da Computação da UFMG. Outras informações sobre o projeto estão no seguinte endereço: http://www.dcc.ufmg.br/~nivio.
Na categoria de tecnologia aplicada, os vencedores foram os criadores de uma linguagem de programação chamada Lua. A linguagem foi desenvolvida em 1994 no laboratório TeCGraf da PUC do Rio de Janeiro, onde a faculdade carioca entra em contato com o mundo real das necessidades das empresas. Os premiados foram Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes. Lua é uma linguagem que não exige dos programadores um longo trabalho de pesquisa antes de iniciar a produção de um software. "Criamos uma forma de programar sem fazer estudos prévios. Basta usar o software e ir experimentando até chegar ao protótipo", diz Ierusalimschy, professor associado do Departamento de Informática da PUC carioca. Conheça melhor Lua no site http://www.lua.org/.
Cada grupo dividirá entre si 20.000 reais e um total idêntico em equipamentos de informática.