Top positive review
50 people found this helpful
Best on Lua, K&R Style and A Favorite
on January 30, 2013
If you are new to Lua, then you don't have this book. If you are not new to the language, then you already have it!
Everyone approaching Lua should start with this essential tool as it is, by far, the most efficient and authoritative way to truly understand Lua and its C-API, which is the key to Lua's ability to integrate with system languages. Written as though K&R were in the room, it has just the right amount of instructive insight and tutorials to bring context, without making it hard to actually find what you need to know. You will wear this book out.
In the Third Edition, lessons were added to the end of each chapter. Many of the lessons are actually open-ended questions, such as "Why is the elseif statement more important in Lua, than it might be in other languages?" These lend to a great deal of understanding that I found very helpful.
Other lessons and examples highlight how somethings are accomplished in Lua, which might be a specialized feature found in another, more complicated language. Here, I found myself learning about the language, gaining an appreciation of its design, as well as insights into being productive with the it.
It's not a huge book, but every section was very dense with knowledge and even after 2 years of playing around with Lua, I found it enjoyable and well worth my time to go through this new edition.
Some Editorializing on Lua:
Lua is best thought of as an implementation and a language. As a language, it is very small, yet it contains some very compact and powerful semantic constructs that you might not expect. That is, Lua is smaller than Visual Basic, yet it has coroutines, first class functions, closures and some wonderfully done meta-programming features.
Perhaps the feature that deserves the most attention is Lua's implementation, which is focused on its first design goal: an accessible, embeddable scripting language. Lua includes a very clean API written for C, which provides very efficient, controlled and seamless access to and from Lua. It is unique and it is also why, in spite of it being a language less known in web development circles, Mediawiki chose it for their templating system.
Finally, Lua is maintained by a small team, in PUC-Rio, a University in Rio de Janeiro in Brazil, that knows how to say "no." They keep the garden tended and pull the weeds, and otherwise keep Lua small and beautiful.
As a result, programming in Lua and working with its implementation is pleasant. Maybe that's the most informative thing that might be said: When I use Lua, I'm having fun.
So... buy the book? :)