Skip to content

Press clippings

Here are some articles about Lua that have appeared in the press. See also some user quotes.

O Globo, 13 Sep 2022 Folha de São Paulo, 04 Mar 2022 O Globo, 10 Apr 2021 Folha de São Paulo, 21 Mar 2021 The Hosting Blog, 08 Jun 2017 Linux Magazine, 26 May 2016 O Globo, 07 Jul 2015 Canaltech, 09 Oct 2014 O Globo, 23 Jul 2013 Foreign Affairs, 21 Apr 2013 Wired, 19 Mar 2013 SFGATE, 30 Aug 2012 Game Developers Magazine, 13 Jan 2012 RTC Magazine, Dec 2011 O Globo, 26 Nov 2011 Veja, 31 Aug 2011 ITPRO, 24 May 2010 Computerworld, 11 Sep 2008 Dr. Dobb's, 8 Jan 2008 IEEE Software, Sep 2007 Revista Pesquisa FAPESP, Sep 2007 Linux Journal, 01 Jun 2007 Agência CT, 30 May 2007 Revista PROGRAMAR, May 2007 Universia, 24 May 2007 O Globo, 22 May 2007 SD Times, 15 Oct 2006 Jornal da PUC, 17 Aug 2006 ONLamp, 16 Feb 2006 Inovação Unicamp, 11 Aug 2005 Linux Magazine, Sep 2004 Linux Magazine, Aug 2004 O Globo, 19 Jul 2004 Unix Review, May 2004 Jornal do Brasil, 19 Apr 2004 Le Journal du Net, 06 Apr 2004 Jornal do Brasil, 08 Sep 2002 Unix Review, May 2002 Developers' Magazine, Mar 2001 Veja Rio, 19 Feb 2001 Exame, 13 Dec 2000 C Magazine, Dec 2000 Globo.com, 16 Nov 2000 Hipermidia, 11 and 16 Nov 2000 Jornal da PUC, Nov 2000 ISTOÉ Dinheiro, 25 Oct 2000 O Globo, 16 Oct 2000 O Globo, 02 Oct 2000 Jornal do Commercio, 01 Oct 2000 Archive, Oct 2000 Gazeta Mercantil, 29 Sep 2000 Adventurer Paradise, 20 Aug 2000 SunWorld, Aug 1998 Informática Exame, Nov 1997

Linguagem Lua, criada no Brasil, tem primeiro livro em português sobre programação

Ao longo dos últimos 12 anos, obra já vinha sendo publicada em seis outros idiomas

Depois de 12 anos sendo publicado em diversos idiomas, finalmente foi lançada este mês a primeira versão em português do livro "Programando em Lua", do Prof. Roberto Ierusalimschy, do Departamento de Informática do CTC/PUC-Rio.

Anteriormente, a obra era vendida apenas em outros idiomas — inglês, alemão, coreano, japonês, chinês e russo.

Lua é uma linguagem de programação famosa mundialmente e utilizada em softwares complexos e em jogos para computador, como "Angry Birds" e "World of Warcraft", além de programas como o Adobe Photoshop Lightroom e no site da Wikipedia.

Há 22 anos, Ierusalimschy, em parceria com Luiz Henrique de Figueiredo e Waldemar Celes — vinculados ao Departamento de Informática e ao Grupo de Tecnologia em Comunicação Gráfica (Tecgraf) da PUC-Rio — criou Lua e, desde então, vem desenvolvendo a linguagem de programação e atendendo às novas demandas dos usuários.

Lua é software livre de código aberto, uma linguagem distribuída sob uma licença muito liberal — a conhecida licença MIT. Lua pode ser usada para quaisquer propósitos, incluindo comerciais, sem qualquer custo ou burocracia. Basta fazer um download e usá-la.

Trata-se da única linguagem de programação de impacto desenvolvida fora do primeiro mundo.

O projeto e a evolução de Lua foram apresentados em 2007 na HOPL III, a 3a Conferência da ACM (Association for Computer Machinery) sobre a História das Linguagens de Programação. Essa conferência ocorre a cada 15 anos (a primeira foi em 1978 e a segunda em 1993) e somente poucas linguagens são apresentadas a cada vez. A escolha de Lua para a HOPL III foi um importante reconhecimento do seu impacto mundial.

Mais informações sobre Lua aqui.

Reprint from O Globo, 07 Jul 2015. Copyright © 2015 O Globo. Todos os direitos reservados.

Lua ganha prêmio

Professor Ierusalimschy, da PUC-Rio, é homeageado na ocasião

Durante a 33ª edição do Congresso da Sociedade Brasileira da Computação, que acontece de 23 a 26 de julho, em Maceió (AL), o Prof. Roberto Ierusalimschy, do Departamento de Informática da PUC-Rio, será agraciado com o Prêmio Mérito Científico.

Há 20 anos, Ierusalimschy, em parceria com Luiz Henrique de Figueiredo e Waldemar Celes, foi um dos criadores da linguagem de programação Lua, famosa mundialmente e utilizada em softwares complexos e jogos para computador, como Angry Birds e World of Warcraft, além de programas como o Adobe Photoshop Lightroom.

O professor, através de seus artigos e sua atuação em instituições de ponta brasileiras e estrangeiras, contribuiu de forma decisiva para a consolidação e expansão da linguagem no mercado.

Segundo a Wikipédia, Lua foi criada em 1993 pelos três supracitados acadêmicos, membros do Computer Graphics Technology Group na PUC-Rio, a Pontifícia Universidade Católica do Rio de Janeiro, no Brasil. Versões da Lua antes da versão 5.0 foram liberadas sob uma licença similar à licença BSD. A partir da versão 5.0, Lua foi licenciada sob a licença MIT.

Alguns dos parentes mais próximos de Lua são o Icon, por sua concepção, e Python, por sua facilidade de utilização por não-programadores. Em um artigo publicado no Dr. Dobb's Journal, os criadores de Lua também afirmam que Lisp e Scheme foram uma grande influência na decisão de desenvolver a tabela como a principal estrutura de dados de Lua. Lua tem sido usada em várias aplicações, tanto comerciais como não-comerciais.

O primeiro projeto utilizando a linguagem em jogos foi em 1997 quando a LucasArts a utilizou como linguagem de script no jogo Grim Fandango.

Reprint from O Globo, 23 Jul 2013. Copyright © 2013 O Globo. Todos os direitos reservados.

From Brazil to Wikipedia

The Surprising Journey of a Programming Language from Rio

By Yuri Takhteyev

Last month, the San Francisco-based Wikimedia Foundation, which maintains Wikipedia, announced that it was changing the way some of the site's more complex pages are configured. Prior to this, these pages were built using Wikipedia's own homegrown template language. Over time, however, the system proved too limiting — for example, editors had to come up with nearly a page of code just to determine the length of a piece of text. By 2011, the foundation's engineers had started looking for a better solution. One of the options was embedding the popular JavaScript language, used in most web browsers. The engineers looked especially closely at the version of JavaScript developed by Google, the Internet behemoth based in nearby Mountain View, in the heart of Silicon Valley. But they eventually looked farther afield, settling on Lua, a programming language developed by a trio of researchers in Rio de Janeiro, Brazil.

How did a programming language from the global South manage to make it into one of the world's most popular web sites? Lua's story, as it turns out, tells a lot about the globalization of software development and the difficulties faced by innovators in developing countries.

I first heard of Lua eight years ago, when I traveled to Rio de Janeiro to interview software engineers for a research project that was recently published as a book, Coding Places. While in Rio, I met "Rodrigo" (who has asked to remain anonymous), who worked on a free and open-source web platform. He surprised me by telling me that the project was based on a new programming language, Lua, developed by a small team at Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio), where Rodrigo had been a student.

I knew that PUC-Rio's computer science program was considered one of Brazil's best, and I was intrigued by the engineer's reliance on local innovation. Even so, the project sounded futile. The world of software is dominated by network effects: The more people use a piece of software, the more valuable it becomes. This is particularly true for programming languages. For engineers, going with widely used languages means access to more jobs that require knowledge of those languages and more ready-built modules in that language to repurpose. For employers, using a popular language makes it possible to hire from a larger pool of engineers. Consequently, although countless programming languages have been developed, only a handful have been widely adopted. And nearly all of those originate from major U.S.-based corporations or research centers. None that I knew at the time came from a developing country.

Against this background, Lua's chances seemed slim. So I decided to spend my time studying how local engineers applied technologies developed abroad — a situation that seemed more common in Brazil and in the developing world at large. Just to be sure, of course, I did ask a few of my Brazilian interviewees what they thought of Lua. Most had never heard of it. Those who had, knew it was something that "the guys" at PUC-Rio were working on, but conveyed little confidence that it would succeed.

My opinion of Lua changed a year later, when, back in California, I read an article about the language on a popular site for technical news. Lua, it appeared, had a small but dedicated following outside Brazil. It was being used in numerous products, most notably in the World of Warcraft, a wildly popular online game in which players could employ Lua to customize the game's user interface. I started thinking that I had perhaps missed something on my previous visit to Brazil.

I decided that I would devote a return trip to Brazil to exploring the Lua ecosystem by spending a few months working with Rodrigo on his project inside a small company in Rio. I planned to interview Lua's authors and contributors, attend Lua programmer meet-ups and other events, and find other companies using the language. The first task was relatively easy. The second two, surprisingly, were not. There just weren't any Lua events to attend, and I could find only one other company in Rio using the language. To observe Lua being used, I probably should have stayed in San Francisco. As it turned out, the language's success abroad and its relative lack thereof at home were closely related.

Software projects do not exist in a vacuum. They are usually embedded in a web of relationships, tied to other projects, people, and organizations. A project born in the right place — say, on the campus of a major corporation in the heart of Silicon Valley — can rely on such ties to rise to global prominence. JavaScript, for example, was developed in the 1990s for use in Netscape Navigator, then the world's most popular web browser. This early start made JavaScript into one of the world's most popular programming languages, despite many engineers' concerns about its poor design.

A project born in a place like Rio de Janeiro must approach its early ties more cautiously. To have a chance of success elsewhere, it must first become mobile by dislodging itself from its original context. The history of Lua was a story of such dislodging. The language was originally developed in the early 1990s as part of its authors' work at Tecgraf, a PUC-Rio consulting venture that offered services to Petrobras, Brazil's biggest oil producer. Being embedded in software destined for Petrobras was perhaps the best local starting point for Lua, as the oil company is known for its commitment to innovation. But to have a shot at global success, Lua had to disentangle itself from its early national alliances and look for friends elsewhere.

Take the decision of the language's creators to write Lua's documentation (the instructions on how to use Lua) in English. Wikimedia Foundation's engineers note Lua's excellent documentation as one of the reasons for choosing it over Google's version of JavaScript. Yet the situation is quite different for potential users of Lua in Brazil. The most popular book on Lua programming, written by one of Lua's authors, a professor at PUC-Rio, is not available in Portuguese. In fact, prior to 2007, the language had no Portuguese documentation at all, requiring Brazilian users to have strong English skills. Prioritizing Portuguese documentation would have made life a lot easier for them. It would also have greatly reduced Lua's chances of being adopted by projects such as Wikipedia.

Lua's international success was facilitated by Lua's increasing ability to fill a particular niche. Lua is especially useful for providing end users with an easy way to program the behavior of a software product without getting too far into its innards. The number of projects around the world needing such functionality is quite significant. Their number, however, is quite small in Rio, where most software projects involve building web applications, a task for which Lua was poorly suited. Rodrigo's company was seeking to mend this — his project ultimately aimed to extend Lua to web development. Until he succeeded, though, Lua was a better fit for foreign projects.

Cutting local ties is not enough, however. Global ties must be formed and exercised. For Lua, its team's integration into the international world of academic computer science provided an early start. In 1996, the team published a paper about Lua in a U.S. journal read widely by American software developers, including videogame engineers at LucasArts, who decided to integrate Lua into one their games. Thanks to LucasArts programmers, Lua soon had friends in the right places. In 1998, LucasArts engineers advocated for Lua at the Games Developer's Conference, the world's largest game development event, in San Jose, California. Quite soon, other companies were decided to incorporate the language into their products as well.

Lua's relative isolation in its early life turned into an unexpected strength. JavaScript, although widely used, is often condemned as an "ugly" language. Such ugliness is the flip side of its popularity: The language bears battle scars of the so-called browser wars of the late 1990s, when Netscape and Microsoft fought for browser market share. Yet fixing JavaScript's problems would be nearly impossible due to its ubiquity and would have required somehow correcting the myriad web browsers and websites that rely on older versions of JavaScript. Lua, in contrast, could turn its back on its past several times. In fact, seeing no commercial prospects for Lua early on, the team had decided to make the language free. It has since focused on elegance and usability.

Lua's strategy helped the language attain global success. This success, however, has brought few direct benefits to Rio de Janeiro and Brazil. Rodrigo's project for adapting Lua to web development has, for the most part, become dormant. Rodrigo himself has moved back to working with JavaScript. Still, the phrase "developed in Brazil" is now heard quite a bit more often software circles in California. Who knows what opportunities the future will bring?

Could Lua's team have made the language more useful for Brazil by focusing on local applications and embedding it tightly into a local innovation system? There are many reasons to think that this strategy would not have been successful. Although talk of local innovation is a staple of technology policy, few engineers in Rio express any interest in locally grown solutions. Whether this is a matter of prejudice or pragmatism, Brazilian engineers tend to look outward, seeking to solve their problems using the same technology used by their peers around the world. They will look at Lua when it becomes globally established. As a longtime supporter of Lua told me, "Lua had to succeed abroad to gain acceptance at home."

Lua's story offers no silver bullet for the technologists in the global South. For them, global success requires shedding local ties and, should all go well, returning home triumphant. It is a treacherous road. The global deck is stacked against them: They live in the wrong places, speak the wrong languages, and are saddled with the wrong institutions. But the alternative strategy of focusing on innovation highly tailored to local contexts is no solution either. In a world dominated by network effects, local users will choose global solutions. This means innovation at the periphery remains difficult. With enough people trying, there will hopefully be more Luas in the years to come, arriving from places like Brazil, China, and Russia. The largest share of benefits of such projects, however, might still accrue in places like San Francisco.

Reprint from Foreign Affairs, 21 Apr 2013. Copyright © 2013 Foreign Affairs. All rights reserved.

Front Line Awards 2011 — Programming tool: Lua

Lua has become an extremely popular programming language, so much so that it's achieved a critical mass of developers in the game industry, meaning Lua skills are transferable from company to company. That's partly due to its speed and the ease with which developers can embed Lua into a game engine. Lua is also highly extensible—it's simple to expand its functionality with libraries either written in Lua, or as extensions in other languages. And it's relatively small and simple, both in terms of the source files, and the resultant code and run-time memory usage.

Cruzadas

Linguagem de programação usada em jogos em em simulação, 3 letras...

Programming language used in games and simulation, 3 letters...

Reprint from O Globo, 26 Nov 2011. Copyright © 2011 O Globo. Todos os direitos reservados.

Programar não é brincadeira

Tem dedo brasileiro no World of Warcraft, um dos games mais populares da história, com 11 milhões de seguidores. A empresa americana Blizzard, dona da marca, utiliza a linguagem de programação Lua, desenvolvida pelos pesquisadores da PUC-Rio Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes. Lançada em 1994, Lua é um fenômeno, adotada mundialmente não apenas por empresas desenvolvedoras de jogos eletrônicos, mas por gigantes como Adobe, Sony, Microsoft, Cisco. Verizon, Disney, Bombardier, Intel, LucasArts, Nasa, Olivetti e Philips. Seu sucesso se sustenta em quatro pilares: a portabilidade, ou seja, pode rodar em diferentes computadores, sistemas operacionais, robôs e celulares; a facilidade de integração com outros aplicativos: o pequeno tamanho; e a eficiência e a rapidez, itens cruciais para a criação de brincadeiras em tempos de internet. "Lua também é uma linguagem simples, fácil de aprender e usar, e isso é fundamental porque quem vai escrever programas em Lua nem sempre é programador profissional", afirma Waldemar Celes, que, com os colegas, chegou a essa linguagem tentando resolver uma demanda surgida de um de seus clientes, a Petrobras.

Reprint from Veja, Ano 44 Nº 2232, 31 Aug 2011. Copyright © 2011 Editora Abril. Todos os direitos reservados.

Could your next IT project come from Brazil?

Over the last few years Brazil has been quietly turning itself into something of an IT powerhouse. [...] Certainly the list of research centres is a roll call for the technology industry: Microsoft, Google — which has both its operations and engineering centres for Latin America there — IBM, Cisco, Lenovo, Sun, Intel, SAP, Motorola, Accenture and even India's Tata sit beside home-grown success stories like the Lua scripting language and ERP supplier TOTUS.

TOTUS is the big name in Brazilian IT. [...] Modulo is another success story [...] But Brazil's most popular technology export is Lua — the scripting language developed at the University of Rio and that's free software distributed under a licence that says "you are free to use Lua for any purpose at no cost without having to ask us."

Lua is a fast, simple and powerful scripting language that's become the standard for games. World of Warcraft is written in Lua, as are Baldur's Gate, The Sims, FarCry, Escape from Monkey Island and many others. Adobe turned to Lua to create Lightroom.

Lua is one of the reasons why [Brazilian Science and Technology Minister Sergio] Rezende can call Brazil "one of the three key IT centres in the world".

Reprint from ITPRO, 24 May 2010. Copyright © 2010 ITPRO. All rights reserved.

Questão de Linguagem

Quem também está ganhando bastante reconhecimento é a linguagem Lua, que nasceu aqui na PUC-Rio. No próximo dia 9, o professor Roberto Ierusalimschy, da equipe de criação da Lua, estará em San Diego. Participa de um fechado grupo de palestrantes da terceira conferência da Association for Computing Machinery sobre a história das linguagens de programação.Essa conferência só ocorre a cada 15 anos, reunindo especialistas nas linguagens mais importantes do mercado. É uma deferência importante.

Reprint from O Globo, 22 May 2007. [Caderno: Economia, Coluna: Conexão Global, Página: 19] Copyright © 2007 O Globo. Todos os direitos reservados.

Para quem precisa do mundo da Lua

Linguagem de programação brasileira, livre, ganha compêndio em inglês

O Brasil ampliou seu domínio sobre a Lua. Não o satélite, mas a linguagem de programação Lua, que surgiu no Tecgraf (Grupo de Tecnologia em Computação Gráfica, parceria da PUC-RJ com a Petrobras). Criada pelo professor Roberto Ierusalimschy junto com Waldemar Celes e Luiz Henrique de Figueiredo, a linguagem, flexível, com interface tranqüilamente combinável com C e C++ e pronta para 1.001 utilildades, desde comandos de prospecção de petróleo até scripting de jogos, ganhou faz alguns meses o livro Programming in Lua, de Roberto.

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.

Reprint from O Globo, Ano LXXX Nº 24519, 19 Jul 2004. Copyright © 2004 O Globo. Todos os direitos reservados.

Brilho lunar

Linguagem de programação criada na PUC-Rio é usada em ônibus espacial, processador, UTI e na criação do melhor da diversão eletrônica

No começo do mês, o caderno Internet apresentou a análise de Far cry, considerado o jogo mais revolucionário dos últimos anos. O que poucos sabem é que, em volta do seu mérito orbita Lua, linguagem de script brasileira. Ela é usada no game e em outros sucessos do entretenimento eletrônico, além de estar presente em celulares, espaçonaves e no desenvolvimento de processadores. Lua, atualmente na versão 5.0.2, foi criada em 1993 pelos professores Roberto Ierusalimschy, Waldemar Celes e Luiz Henrique de Figueiredo no laboratório de computação gráfica da PUC-Rio, Tecgraf. A manutenção do software continua sob responsabilidade da equipe.

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.

Nasa, Intel e Incor empregam Lua

Embora os games sejam a face mais brilhante de Lua, a linguagem é explorada em uma série de aplicações. A brasileira Hands, que desenvolve um navegador de conteúdo para micros de bolso, é um exemplo. Outra, ainda mais radical, é empregada pelo Instituto do Coração, em São Paulo, que usa a linguagem no sistema de monitoração das UTIs na internet. Lua também participa da criação do processador do computador.

— 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.

Reprint from Jornal do Brasil, 19 Apr 2004. Copyright © 2004 Jornal do Brasil. Todos os direitos reservados.

Le langage Lua commence à percer

Plus de 10 années après sa version 1.0, le langage de script Lua parvient à la version 5.02 et afficher une robustesse et une conception qui lui valent d'être comparé à Python en terme de "langage à connaître". Par son poids (60 Ko pour le "coeur", 140 ko pour l'ensemble de la machine virtuelle), sa portabilité (systèmes embarqués, PalmOS...), sa facilité d'intégration à C/C++, Java, C# ou Fortran et le fait qu'il est Open Source, c'est devenu l'un des langages de scripts les plus populaires de le monde des jeux vidéos. A découvrir.

Reprint from Le Journal du Net - Actualité Développeurs, 06 Apr 2004. Copyright © 2004 JDN développeurs. Tous droits réservés.

Linguagem da PUC ganha apoio da Microsoft

Lua ficou famosa depois de ser usada em dois jogos da LucasArts

Primeiro, o homem foi à Lua e, agora, é ela quem conquista o homem. Mas não se trata do satélite, e sim de uma linguagem de programação brasileira criada em 1993, batizada de Lua. Desenvolvida no Grupo de Tecnologia em Computação Gráfica (TeCGraf), parceria da PUC-Rio com a Petrobrás, o sistema precisou entrar no mercado norte-americano para provar suas qualidades e conseguir o merecido reconhecimento brasileiro.

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.

Reprint from Jornal do Brasil, 08 Sep 2002. Copyright © 2002 Jornal do Brasil. Todos os direitos reservados.

Geração games

Cariocas conquistam espaço no seleto time de criadores de jogos para computador

[...] Não será a única vez que uma criação 100% carioca ganha o maravilhoso mundo dos games. Uma turma da PUC criou algo ainda mais complexo. Roberto Ierusalimschy, Waldemar Celes e Luiz Henrique de Figueiredo trabalham no Tecgraf, o laboratório de computação gráfica da universidade. Os três desenvolveram a linguagem Lua. Não, não é nada do outro mundo. Pelo contrário. Lua, neste caso, é uma linguagem mais simples para a criação de programas. "Qualquer pessoa, inclusive roteiristas, designers e profissionais de arte, consegue usar. Isso fez com que fosse utilizada para a programação de games", explica Ierusalimschy. A linguagem Lua ganhou o mundo e um dos primeiros a usá-la foi a Lucas Arts, a empresa de entretenimento do diretor e produtor de cinema George Lucas, o criador da série Guerra nas Estrelas. "A linguagem Lua foi utilizada nos jogos Grim Fandango e Fuga da Ilha dos Macacos, que se tornaram muito populares." Os criadores de Lua não ganharam nada por isso. Só prestígio. "Nós colocamos a linguagem de graça na internet porque todas as outras linguagens também são de graça", explica Waldemar Celes.

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". [...]

Reprint from Veja Rio, Ano 11 Nº 7, 19 Feb 2001. Copyright © 2001 Editora Abril. Todos os direitos reservados.

No mundo do Lua

De graça, até injeção nos lucros

Caro prof. Ierusalimschy, Parabéns pela criação do programa Lua. Aproveitando o ensejo, avisamos que estamos usando sua linguagem na LucasArts. As palavras não foram exatamente essas. Mas era mais ou menos isso que dizia um e-mail recebido pelo professor Roberto Ierusalimschy, da PUC-Rio. Na mensagem, Bret Mogilevsky, então programador-chefe da LucasArts Entertainment — empresa de produção de jogos para computador de George Lucas, criador do filme Guerras nas Estrelas —, parabenizava Ierusalimschy pelo Lua, uma linguagem de programação que ele e mais dois especialistas em computadores desenvolveram no início dos anos 90 no 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!"

Reprint from Exame, edição 729 Ano 34 Nº 25, 13 Dez 2000. Copyright © 2000 Editora Abril. Todos os direitos reservados.

Linguagem criada na PUC-RJ conquista o Vale do Silício

Durante três anos, entre as paredes do Departamento de Informática da PUC-Rio, os cariocas Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes criaram uma linguagem de programação que acabou se tornando o "xodó" dos desenvolvedores de games.

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.

Cerca de mil empresas de tecnologia já utilizam a linguagem

A Lua não é apenas a "queridinha" dos programadores de games. Cerca de mil empresas de tecnologia, incluindo algumas do Vale do Silício, na Califórnia, já se renderam a ela.

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.

'Lua' é gratuita e pode ser baixada na Web

A linguagem Lua está disponível de graça na Internet desde 1996. Os pesquisadores da PUC-Rio não têm controle do número de downloads que já foram feitos devido à quantidade de espelhos (sites que pegam o software "emprestado" e o tornam disponível para download) em ação.

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.

Reprint from Globo.com - Info & Tech, 16 Nov 2000. Copyright © 2000 Globo.com. Todos os direitos reservados.

Linguagem de programação brasileira alcança o Vale do Silício e conquista até o diretor de Guerra nas Estrelas, George Lucas.

Três pesquisadores da Pontifícia Universidade Católica do Rio de Janeiro, a PUC-Rio, trabalharam durante três anos no projeto Lua, e criaram uma linguagem de programação que recebe o mesmo nome do projeto. O software nacional tem algumas semelhanças com a linguagem Java e está sendo distribuído de graça pela Internet. O grupo de pesquisadores estima que já tenham tido mais de dez mil cópias da linguagem. A Lua está sendo tão bem aceita que os criadores Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes acabaram de ser contratados por uma empresa da Califórnia, que está desenvolvendo um programa com a linguagem brasileira. Ouça aqui a entrevista sobre a Lua com Roberto Ierusalimschy.

Três pesquisadores brasileiros criaram uma linguagem de programação que conquistou George Lucas e o Vale do Silício

Durante três anos, entre as paredes do Departamento de Informática da PUC-Rio, os cariocas Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes criaram uma linguagem de programação que acabou se tornando o "xodó" dos desenvolvedores de games. A Lua, como foi batizada a linguagem, chamou inclusive a atenção da Lucas Arts, 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. 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.

Linguagem já conquistou o Vale do Silício

A Lua, linguagem de programação desenvolvida no Departamento de Informática da PUC-Rio, pelos cariocas Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes, não é apenas a "queridinha" dos programadores de games. Cerca de mil empresas de tecnologia, incluindo algumas do Vale do Silício, já se renderam à nova linguagem. Em São Francisco, Califórnia, a Yindo, uma companhia emergente que atua em programação de aplicações, está desenvolvendo um programa com a linguagem criada por esses pesquisadores brasileiros da PUC-Rio. "Na Califórnia, a 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.

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.

Reprint from Hipermidia, 11 e 16 Nov 2000. Copyright © 2000 Hipermidia. Todos os direitos reservados.

Linguagem de programação faz a viagem de volta

Desenvolvida na PUC para o Grupo de Tecnologia em Computação Gráfica (TeCGraf), a Linguagem de Programação Lua já viajou o mundo. Segundo o professor Roberto Ierusalimschy, um dos criadores juntamente com Waldemar Celes e Luiz Henrique de Figueiredo, consultores do TeCGraf, a Linguagem Lua se beneficia do fato de ter se tornado conhecida após ser testada por geólogos da Petrobras. Depois do sucesso internacional, a Lua chega ao Brasil.

Linguagem Lua enfim conquista brasileiros

O homem precisou ir à Lua para provar que poderia conquistar o espaço. Da mesma forma, a linguagem de programação Lua, desenvolvida no Grupo de Tecnologia em Computação Gráfica (TeCGraf), parceria da PUC-Rio com a Petrobras, teve que entrar no mercado americano para provar suas qualidades e conseguir o merecido reconhecimento aqui no Brasil.

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.

Reprint from Jornal da PUC, Ano XII Nº 102, Nov 2000. Copyright © 2000 PUC-Rio. Todos os direitos reservados.

A conquista do lua

Software nacional faz sucesso nos EUA

Uma lua brasileira conquistou George Lucas, diretor do filme Guerra nas Estrelas e dono da produtora LucasArts Entertainment. E está brilhando também em outras mil empresas de tecnologia, inclusive no Vale do Silício. Eles conheceram a Lua, uma linguagem de programação desenvolvida por três pesquisadores da PUC do Rio, na Internet e viraram fãs. A fama do software nacional — similar à linguagem Java, desenvolvida pela gigante americana Sun Mycrosystems — espalhou-se e começa a render frutos para seus criadores, os cariocas Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes. Eles acabam de ser contratados como consultores pela Yindo, companhia emergente da Califórnia. 'A empresa está desenvolvendo um programa com nossa linguagem', afirma Ierusalimschy. Fossem americanos, já poderiam ser apontados como candidatos a milionários. Como brasileiros, entretanto, sonham com conquistas menores, como faturar dando palestras. A venda do software não rende um tostão, já que ele é distribuído de graça pela Internet. Mas o seu sucesso permite que os pesquisadores já imaginem até arrumar um comprador para a marca Lua. 'Quando mais a linguagem for conhecida, maior será o valor', diz Ierusalimschy.

Reprint from ISTOÉ Dinheiro, Nº 165, 25 Out 2000. Copyright © 2000 Editora Três. Todos os direitos reservados.

'Nossa linguagem é totalmente livre e flexível'

Criador da linguagem Lua, usada como ferramenta por geólogos e até designers, explica seu funcionamento

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.

O GLOBO: Por que o nome LUA? É algum acrônimo? 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.

Como ela funciona? 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.

Quais são suas maiores aplicações práticas? 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.

E como a linguagem foi migrando para outras aplicações? Essa versão criada para a Petrobras foi apenas o começo, certo? 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.

Como foi essa história do artigo internacional que começou a popularizar a linguagem? 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.

Foi quem acabou usando Lua nos games "Escape from Monkey Island IV" e "Grim Fandango"? 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".

E como ela funciona dentro de um game como esses? Qual o seu papel? 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.

A linguagem é de código aberto? Sendo assim, ela segue a GPL (General Public License, que regula a utilização da maioria dos softwares livres)? 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.

Vocês estão lançando o beta da versão 4 de Lua. Quais as diferenças em relação às versões anteriores? 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.

Por causa de Lua, vocês foram convidados pela empresa americana Yindo para serem consultores de um projeto de software. Dê os detalhes dessa história. 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.

E em que consiste o projeto da Yindo? 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.)

Criando uma ponte com a Web

A linguagem Lua tem vários "derivados". O principal deles é o CGILua, que trabalha com aplicações Internet. Um dos principais usuários de CGILua no Brasil é a Fábrica Digital, que escreveu sua ferramenta de edição Web, o Publique!, todo em Lua e usa a linguagem derivada para conectá-lo à Grande Rede. Quem explica o funcionamento do CGILua é André Carregal, responsável pela parte de desenvolvimento de software na empresa:

— 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.

Reprint from O Globo, Ano LXXVI Nº 24519, 16 Out 2000. Copyright © 2000 O Globo. Todos os direitos reservados.

Medalha de ouro!

A LucasArts, empresa que lançou jogos das séries "Indiana Jones" e "Guerra nas estrelas", está usando linguagem de programação desenvolvida no Brasil. Dois de seus jogos mais famosos, "Grim Fandango" e "Escape from Monkey Island IV", usaram a linguagem Lua, desenvolvida pelo departamento de informática da PUC do Rio. Os autores e pesquisadores Roberto Ierusalimschy, Waldemar Celes e Luiz Henrique de Figueiredo lançam, esta semana, a versão [4.0] beta do programa e informam: ele é distribuído gratuitamente. Em <www.lua.org>.

Reprint from O Globo, Ano LXXVI Nº 24505, 02 Out 2000. Copyright © 2000 O Globo. Todos os direitos reservados.

Uma linguagem de sucesso

Sistema criado por equipe da PUC-RJ auxilia vários tipos de negócios

Apesar de conhecida e utilizada por programadores de todo o mundo, muito pouco se sabe, no Brasil, sobre o potencial da linguagem de programação Lua, desenvolvida pelo Departamento de Informática da Pontifícia Universidade Católica (PUC-Rio). Com uma versão mais rápida (Lua 4.0 Beta), o objetivo dos criadores foi incorporá-la à outras linguagens, consideradas mais "pesadas" por especialistas. Lua tem várias utilidades, desde a construção de sites até o apoio organizacional de projetos de escavações de petróleo.

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.

Histórico

Depois do projeto inicial, surgiram vários outros envolvendo a nova linguagem de programação, como o desenvolvimento, em 1994, de um sistema de intranet (sistema fechado de Internet numa empresa) no Departamento de Informática da PUC-Rio. O professor Ierusalimschy disse, empolgado, que "o projeto começou numa época em que a Internet não era nem comentada no país. Dois anos depois, o sistema foi estendido para todos os estudantes do campus".

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.

Mercado brasileiro

Mas não é só no exterior que Lua conquistou os profissionais de Informática. A empresa Fábrica Digital, criada em 1988, vem utilizando Lua desde então para projetos internos. Algumas utilidades dessa linguagem para a Fábrica Digital são uma melhor geração de páginas HTML (linguagem básica de Internet) e o uso de configuração de produtos na "Rede".

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.

Como Lua funciona

A linguagem de programação Lua foi criada com a intenção de estender e facilitar as aplicações de outras linguagens mais pesadas (C ou C++). Num termo mais técnico, Lua "interage" com facilidade à essas outras linguagens. Na prática, é usada — entre outras aplicações — na criação de sistemas de Intranet, construção de sites e jogos eletrônicos.

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.

Serviço

Atualmente, os usos de Lua são temas de grupos de discussão com centenas de participantes e a linguagem já é item das seções de informática em vários sites de busca. Quem quiser mais informações sobre essa linguagem de programação, pode entrar em contato com o Departamento de Informática da PUC-Rio ou pela Internet.

Reprint from Jornal do Commercio, Ano CLXXIV Nº 302, 01 Out 2000. Copyright © 2000 Jornal do Commercio. Todos os direitos reservados.

Sistema criado na PUC é usado por empresa do Vale do Silício

O Vale do Silício, berço da informática mundial, está importando tecnologia produzida nos laboratórios da PUC-Rio. A Yindo — empresa emergente fundada pelo ex-programador chefe da e-groups, Steve Dekorte — utilizará a linguagem de programação Lua, desenvolvida pelo TeCGraf, centro de tecnologia gráfica ligado ao departamento de informática da universidade.

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.

Reprint from Gazeta Mercantil, Ano III Nº 674, 29 Set 2000. Copyright © 2000 Gazeta Mercantil. Todos os direitos reservados.

O Brasil e os Adventures

"Qual a ligação do Brasil com os jogos no estilo adventure?" As respostas para esta pergunta seriam das mais variadas. Alguns simplesmente diriam "Nenhuma", enquanto outros (os mais pessimistas) diriam "Nenhuma, não temos capacidade pra isso". Pois todos estão enganados. Sem a nossa ajuda, ou melhor, sem a ajuda de programadores brasileiros; jogos como Baldur's Gate, MDK2, Grim Fandango e Escape from Monkey Island — sim, eu disse Grim Fandango e Escape from Monkey Island — não sairiam do papel. Lua é o nome da linguagem produzida na PUC do Rio de Janeiro por três brasileiros, com última versão datada de Julho do ano passado, e que está sendo amplamente utilizada em projetos nacionais e internacionais. É totalmente gratuita, tanto para uso comercial ou pessoal. Tanto em Grim Fandango como em Escape from Monkey Island, a LucasArts está usando uma versão modificada da linguagem Lua para fazer a interface de script. Apesar de não ser obrigatório, a empresa notificou os autores da utilização da linguagem, e gostou tanto, que Bret Mogilefsky, um funcionário da LucasArts, enviou o seguinte comentário sobre a linguagem:

"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." — Bret Mogilefsky, LucasArts 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!!!

Reprint from Adventurer Paradise, 20 Aug 2000.

Cabeças premiadas nas universidades

Nos laboratórios de computação das universidades brasileiras dois temas têm atraído a atenção dos pesquisadores: a Internet e a forma de armazenar dados. Isso é o que demonstram os trabalhos vencedores da segunda edição do Prêmio Compaq de Estímulo à Pesquisa e Desenvolvimento em Informática, que tem o apoio da INFORMÁTICA EXAME.

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: 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 www.inf.puc-rio.br/~roberto/lua.html.

Cada grupo dividirá entre si 20.000 reais e um total idêntico em equipamentos de informática.

Reprint from Informática Exame, Ano 12 Nº 140, Nov 1997. Copyright © 1997 Editora Abril. Todos os direitos reservados.