O que Lua?Lua uma linguagem de programao poderosa, eficiente e leve, projetada para estender aplicaes. Ela permite programao em vrios estilos: procedural, orientada a objetos, funcional, orientada a dados, e descrio de dados. Lua combina sintaxe procedural simples com poderosas construes para descrio de dados baseadas em tabelas associativas e semntica extensvel. Lua tipada dinamicamente, executada via interpretao de bytecodes para uma mquina virtual baseada em registradores, e tem gerenciamento automtico de memria com coleta de lixo incremental. Essas caractersticas fazem de Lua uma linguagem ideal para configurao, automao (scripting), e prototipagem rpida. Quais as origens de Lua?Lua inteiramente projetada, implementada, e desenvolvida no Brasil, por uma equipe na PUC-Rio (Pontifcia Universidade Catlica do Rio de Janeiro). Lua nasceu e cresceu no Tecgraf, o ento Grupo de Tecnologia em Computao Grfica da PUC-Rio. Atualmente, Lua desenvolvida no laboratrio LabLua do Departamento de Informtica da PUC-Rio. Como saber mais sobre Lua?Os principais textos em portugus sobre Lua so o livro Programando em Lua e o manual de referncia, que a definio oficial da linguagem Lua.
Temos tambm alguns textos introdutrios:
Esta pgina apenas um resumo do site de Lua. O resto do site, incluindo a maior parte da documentao tcnica sobre Lua, est em ingls pois Lua software de exportao e usada em vrios produtos e projetos no mundo todo. A comunidade de Lua internacional; a nossa lista de discusso tem membros de vrios pases. Participe tambm da lista Lua BR em portugus. Todos so bem-vindos! Como contribuir para a comunidade Lua?Voc pode contribuir para a comunidade de vrias maneiras: respondendo perguntas sobre Lua (nas listas Lua BR e lua-l, no chat, em stackoverflow e pt.stackoverflow, etc.), colaborando no wiki, respondendo a nossa pesquisa, adicionando um logo de Lua na sua pgina da web, e escrevendo e compartilhando ferramentas e bibliotecas para Lua. Como participar da comunidade Lua?Voc pode participar da comunidade Lua se inscrevendo na lista de discusso Lua BR, cujo trfego em portugus, ou na lista lua-l, cujo trfego em ingls. Ambas as lista so espaos abertos para todos os interessados na linguagem Lua, desde aqueles que j usam Lua at os que tem apenas curiosidade de saber mais sobre a linguagem. Todos so bem-vindos! Participe de Lua BR e d sugestes de como podemos atingir efetivamente a comunidade Lua no Brasil. Voc pode conhecer pessoalmente parte da comunidade Lua internacional participando de um Lua Workshop. Como apoiar o projeto Lua?Voc pode apoiar o projeto Lua comprando livros publicados por Lua.org e fazendo uma doao. Lua.org Associada da Amazon e recebemos comisses por compras qualificadas feitas por meio de links neste site. |
Por que escolher Lua?Lua linguagem estabelecida e robustaLua usada em muitas aplicaes industriais (e.g., Adobe's Photoshop Lightroom), com nfase em sistemas embutidos (e.g., o middleware Ginga para TV digital) e jogos (e.g., World of Warcraft e Angry Birds). Lua atualmente a linguagem de script mais usada em jogos. Lua tem um slido manual de referncia e existem vrios livros sobre a linguagem. Vrias verses de Lua foram lanadas e usadas em aplicaes reais desde a sua criao em 1993. Lua rpidaLua tem uma merecida reputao de timo desempenho. Outras linguagens de script aspiram ser "to rpidas quanto Lua". Vrios benchmarks mostram Lua como a linguagem mais rpida dentre as linguagens de script interpretadas. Lua rpida no s em programas especficos para benchmarks, mas no dia-a-dia tambm. Pores substanciais de aplicaes grandes so escritas em Lua. Se voc precisar de ainda mais velocidade, experimente LuaJIT, uma implementao independente usando um compilador just-in-time. Lua porttilLua distribuda via um pequeno pacote e compila sem modificaes em todas as plataformas que tm um compilador C padro. Lua roda em todos os tipos de Unix e Windows, e tambm em dispositivos mveis (usando Android, iOS, BREW, Symbian, Windows Phone), em microprocessadores embutidos (como ARM e Rabbit, para aplicaes como Lego MindStorms), e at em mainframes IBM. Lua embutvelLua uma engine rpida e pequena que voc pode facilmente embutir na sua aplicao. Lua tem uma API simples e bem documentada que permite uma integrao forte com cdigo escrito em outras linguagens. simples estender Lua com bibliotecas escritas em outras linguagens. Tambm simples estender programas escritos em outras linguagens com Lua. Lua usada para estender programas escritos no s em C e C++, mas tambm em Java, C#, Smalltalk, Fortran, Ada, Erlang, e mesmo outras linguagens de script, como Perl e Ruby. Lua poderosa (e simples)Um conceito fundamental no projeto de Lua fornecer meta-mecanismos para a implementao de construes, em vez de fornecer uma multido de construes diretamente na linguagem. Por exemplo, embora Lua no seja uma linguagem puramente orientada a objetos, ela fornece meta-mecanismos para a implementao de classes e herana. Os meta-mecanismos de Lua trazem uma economia de conceitos e mantm a linguagem pequena, ao mesmo tempo que permitem que a semntica seja estendida de maneiras no convencionais. Lua pequenaIncluir Lua numa aplicao no aumenta quase nada o seu tamanho. O pacote de Lua 5.5.1, contendo o cdigo fonte e a documentao, ocupa 390K comprimido e 1.5M descompactado. O fonte contm cerca de 32000 linhas de C. No Linux de 64 bits, o interpretador Lua contendo todas as bibliotecas padres de Lua ocupa 293K e a biblioteca Lua ocupa 484K. Lua livreLua software livre de cdigo aberto, distribuda sob uma licena muito liberal (a conhecida licena MIT). Lua pode ser usada para quaisquer propsitos, incluindo propsitos comerciais, sem qualquer custo ou burocracia. Basta fazer um download e us-la. Lua tem importncia globalLua a nica linguagem de programao com impacto mundial desenvolvida fora do primeiro mundo. Em 2007, o projeto e a evoluo de Lua foram apresentados na HOPL III, a 3a Conferncia da ACM sobre a Histria das Linguagens de Programao. Essa conferncia ocorre a cada 15 anos (em 1978, 1993, 2007, 2021) e apresenta linguagens de impacto. A escolha de Lua para a HOPL III um importante reconhecimento do seu impacto mundial. Em 2011, Lua ganhou o Front Line Award da Game Developers Magazine na categoria ferramentas de programao. Em 2017, Lua foi exibida na exposio Inovanas - Criaes Brasileira, no Museu do Amanh no Rio de Janeiro, como uma das "criaes pensadas e desenvolvidas por brasileiros que transformam vidas no pas e no mundo". Veja o video de abertura e leia o catlogo. Veja o video sobre Lua. Em 2022, Lua recebeu a Medalha Pedro Ernesto, a comenda mxima da cidade do Rio Janeiro. |