Lua (linguagem de programação)
Origem: Wikipédia, a enciclopédia livre.
Lua é uma linguagem de programação imperativa, procedimental, pequena e leve, projetada para expandir aplicações em geral, para ser usada como linguagem extensível (que une partes de um programa feitas em mais de uma linguagem), para prototipagem e para ser embarcada em softwares complexos, como jogos. Assemelha-se um tanto com Python, Ruby ou Icon, entre outras.
Lua foi criada por um time de desenvolvedores do Tecgraf da PUC-Rio, a princípio, para ser usada em um projeto da Petrobras. Devido à sua eficiência, clareza e facilidade de aprendizado, passou a ser usada em diversos ramos da programação, como no desenvolvimento de jogos (a Lucas Arts, por exemplo, usou a linguagem no jogo "Escape from Monkey Island"), controle de robôs, processamento de texto, etc.
Também é freqüentemente usada como uma linguagem de propósito geral.
Lua combina programação procedural com poderosas construções para descrição de dados, baseadas em tabelas associativas e semântica extensível. É tipada dinamicamente, interpretada a partir de bytecodes, e tem gerenciamento automático de memória com coleta de lixo. Essas características fazem de Lua uma linguagem ideal para configuração, automação (scripting) e prototipagem rápida.
Lua é distribuída gratuitamente em diversos sites.
[editar] Exemplo de código
print "Olá mundo!"
A função fatorial recursiva:
function fact(n) if n == 0 then return 1 else return n * fact(n - 1) end end
[editar] Projetos que usam Lua
- TeCGraf Laboratório de Pesquisa em Computação Gráfica
- Grim Fandango e Escape from Monkey Island, dois jogos da LucasArts
- ClanLib, biblioteca para desenvolvimento de jogos.
- Sistema de Pacotes RPM do Conectiva Linux
- Simulador Astronômico Celestia
[editar] Páginas externas
- http://www.lua.org/portugues.html
- http://www.tecgraf.puc-rio.br/
- http://www-nt.inf.puc-rio.br/
- Página oficial da linguagem Lua
- Página mantida pela comunidade, tendo inclusive uma wiki
- Manual da linguagem Lua 5.0, em formato PDF
- Manual de introdução à programação em Lua 3.1, que é meio defasado, mas já dá uma boa idéia da linguagem.
- Módulo Lua para o Apache, rode a linguagem Lua na web.
- http://www.keplerproject.org/, Plataforma de desenvolvimento de aplicações para Web.
- http://luaforge.net/, Hospedagem e catálogo de projetos que usam Lua.
- http://www.inf.puc-rio.br/~roberto/, Página pessoal de Roberto Ierusalimschy, um dos criadores da Linguagem Lua.