A Linguagem de Programação
O que é Lua?
Lua
é uma linguagem de programação
poderosa, rápida e leve,
projetada para estender aplicações.
Lua combina sintaxe simples para programação procedural com
poderosas construções para descrição de dados
baseadas em tabelas associativas e semântica extensível.
Lua é
tipada dinamicamente,
é interpretada a partir de bytecodes para uma
máquina virtual baseada em registradores,
e tem gerenciamento automático de memória com coleta de lixo incremental.
Essas características fazem de Lua uma linguagem ideal para
configuração,
automação (scripting)
e prototipagem rápida.
Por que escolher Lua?
Lua é uma linguagem estabelecida e robusta
Lua é usada em
muitas aplicações industriais
(e.g.,
Adobe's Photoshop Lightroom),
com ênfase em sistemas embutidos e jogos.
Lua é atualmente a linguagem de script mais usada em jogos.
Lua tem um sólido
manual de referência
e existem
vários livros sobre a linguagem.
Várias
versões
de Lua foram lançadas e usadas em aplicações reais
desde a sua criação em 1993.
Lua é rápida
Lua tem uma merecida reputação de ótimo desempenho.
Outras linguagens de script aspiram ser "tão rápidas quanto Lua".
Vários benchmarks mostram Lua como a linguagem mais rápida
dentre as linguagens de script interpretadas.
Lua é rápida não só em programas específicos para benchmarks,
mas no dia-a-dia também.
Porções substanciais de aplicações grandes são escritas em Lua.
Lua é portátil
Lua é distribuída via um pequeno pacote e
compila sem modificações em todas as plataformas que têm um compilador
ANSI/ISO C.
Lua roda em todos os tipos de Unix e Windows,
e também em dispositivos móveis
(como computadores de mão e celulares que usam
BREW, Symbian, Pocket PC, etc.)
e em microprocessadores embutidos (como ARM e Rabbit)
para aplicações como Lego MindStorms.
Lua é embutível
Lua é uma engine rápida e pequena que
você pode facilmente embutir na sua aplicação.
Lua tem uma API simples e bem documentada
que permite uma integração forte com código escrito em outras linguagens.
É simples estender Lua com bibliotecas escritas em outras linguagens.
Também é simples estender programas escritos em outras linguagens com Lua.
Lua é usada para estender programas escritos não só em C e C++,
mas também em Java, C#, Smalltalk, Fortran, Ada,
e mesmo outras linguagens de script,
como Perl and Ruby.
Lua é poderosa (e simples)
Um conceito fundamental no projeto de Lua é
fornecer meta-mecanismos para a implementação de construções,
em vez de fornecer uma multidão de construções diretamente na linguagem.
Por exemplo,
embora Lua não seja uma linguagem puramente orientada a objetos,
ela fornece meta-mecanismos para a implementação de classes e herança.
Os meta-mecanismos de Lua trazem uma economia de conceitos e mantêm a
linguagem pequena,
ao mesmo tempo que permitem que
a semântica seja estendida de maneiras não convencionais.
Lua é pequena
Incluir Lua numa aplicação não aumenta quase nada o seu tamanho.
O
pacote de Lua 5.1.3,
contendo o código fonte, documentação e exemplos,
ocupa 216K comprimido e 864K descompactado.
O fonte contém cerca de 17000 linhas de C.
No Linux,
o interpretador Lua contendo todas as bibliotecas padrões de Lua ocupa 144K
e a biblioteca Lua ocupa 196K.
Lua é livre
Lua é software livre de
código aberto,
distribuída sob uma
licença muito liberal
(a conhecida licença MIT).
Lua pode ser usada para quaisquer propósitos,
incluindo propósitos comerciais,
sem qualquer custo ou burocracia.
Basta fazer um
download
e usá-la.
Lua tem importância global
O projeto e
a evolução de Lua
foram apresentados em junho de 2007 na
HOPL III, a 3a
Conferência da ACM 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 é um importante reconhecimento do
seu impacto mundial.
Lua é a
única linguagem de programação de impacto desenvolvida fora do primeiro
mundo, estando atualmente entre as 20 linguagens mais populares na
Internet (segundo o índice
TIOBE).
Quais as origens de Lua?
Lua é inteiramente projetada, implementada e desenvolvida no Brasil,
por uma
equipe
na
PUC-Rio
(Pontifícia Universidade Católica do Rio de Janeiro).
Lua nasceu e cresceu no
Tecgraf,
o Grupo de Tecnologia em Computação Gráfica da PUC-Rio.
Atualmente,
Lua é desenvolvida no laboratório
Lablua.
Tanto o Tecgraf quanto Lablua são laboratórios do
Departamento de Informática
da PUC-Rio.
Como saber mais sobre Lua?
Esta página é apenas um resumo do site de Lua.
O manual de referência foi recentemente traduzido para o português.
Em português,
temos ainda
slides
de palestras sobre Lua,
notas
e
slides
de um tutorial ministrado no
WJogos 2004,
um
manual introdutório (antigo),
uma
nota para a imprensa
(press release),
e algumas
reportagens sobre Lua.
O resto do site está em inglês pois
Lua é software de exportação
e está sendo usada em vários projetos no mundo todo.
A
comunidade de Lua é realmente internacional:
menos de 10% dos mais de 1500 assinantes da nossa
lista de discussão são do Brasil.
Todos são bem vindos!
Last update:
Fri Apr 4 07:21:28 BRT 2008