Programming in Lua é o livro oficial da linguagem, escrito por Roberto Ierusalimschy e publicado por Lua.org. A quarta edição, de agosto de 2016, atualiza o texto para Lua 5.3, reorganiza os capítulos por complexidade crescente e permanece a referência de quem quer aprender a linguagem com a voz do arquiteto-chefe, não com um resumo de terceira mão.
O próprio autor descreveu a reedição como uma reestruturação feita a partir da experiência de ensinar Lua. Em vez de empilhar tópicos na ordem histórica da linguagem, o livro conduz o leitor do uso cotidiano até a ponte com C. Há exemplos numerosos e ênfase em padrões: o que fazer com tabelas, closures, corrotinas e metatabelas sem transformar cada recurso numa curiosidade isolada.
O que muda na quarta edição
Lua 5.3 trouxe inteiros, operações bit a bit e outros ajustes que a edição anterior não cobria. A quarta edição incorpora esse recorte e marca, segundo o texto de apresentação, uma reorganização completa. Tem cerca de 388 páginas na edição impressa da Lua.org, ISBN 978-8590379867. Não é um manual de bolso nem uma cópia do manual de referência: é um livro de programação.
O público declarado é quem já programa em alguma linguagem. O texto não ensina o que é uma variável; ensina o que Lua faz diferente. Quem vem de JavaScript reconhece a tabela e a função de primeira classe, mas precisa aceitar índice começando em 1, o papel de nil e a ausência de um sistema de classes nativo. Quem vem de C encontra no fim do livro a ponte que justifica Lua como linguagem de extensão.
Estrutura e uso prático
A obra cobre a linguagem, as bibliotecas-padrão e a interface em C. Na prática, isso significa três leitores possíveis dentro do mesmo volume. O scripter de jogo pode parar depois de tabelas, módulos e corrotinas. Quem vai escrever bibliotecas precisa das metatabelas e da biblioteca de strings. Quem vai embutir o interpretador num motor ou num aplicativo precisa da parte em C.
- Base da linguagem: tipos, tabelas, funções, iteradores e erros.
- Mecanismos avançados: metatabelas, ambientes, módulos e corrotinas.
- Bibliotecas-padrão de string, tabela, E/S e sistema.
- Interface em C para estender aplicações e expor código nativo.
Lua.org recomenda o livro como introdução completa e aponta o manual de referência como definição da linguagem. Os dois se complementam. O manual responde “o que a operação faz”; Programming in Lua responde “quando e como usar”. A primeira edição continua disponível online para consulta pessoal, mas a quarta é a edição corrente à venda.
Compra e relação com a edição brasileira
No Brasil, a quarta edição inglesa aparece na Amazon ao lado de Programando em Lua, a terceira edição da LTC. São livros da mesma família, não o mesmo objeto: idioma, editora e versão da linguagem diferem. Quem precisa de Lua 5.3 e lê inglês com fluência ganha com a quarta. Quem quer estudar em português e aceita o recorte da terceira edição brasileira segue com a LTC.
A rota de compra mais estável do item exato é a página da quarta edição na Amazon, com o ISBN 8590379868. Lua.org também indica a compra como forma de apoiar o projeto da linguagem, que permanece software livre sob licença MIT. O livro é o produto comercial do autor; a linguagem continua baixável sem custo em lua.org.



