Item description for Programming in Lua, Second Edition by Roberto Ierusalimschy...
Lua is the language of choice for anyone who needs a scripting language that is simple, efficient, extensible, portable, and free. Currently, Lua is being used in areas ranging from embedded systems to Web development and is widely spread in the game industry, where knowledge of Lua is an indisputable asset.
"Programming in Lua" is the official book about the language, giving a solid base for any programmer who wants to use Lua. Authored by Roberto Ierusalimschy, the chief architect of the language, it covers all aspects of Lua 5---from the basics to its API with C---explaining how to make good use of its features and giving numerous code examples. "Programming in Lua" is targeted at people with some programming background, but does not assume any prior knowledge about Lua or other scripting languages.
This Second Edition updates the text to Lua 5.1 and brings substantial new material, including numerous new examples, a detailed explanation of the new module system, and two new chapters centered on multiple states and garbage collection.
Promise Angels is dedicated to bringing you great books at great prices. Whether you read for entertainment, to learn, or for literacy - you will find what you want at promiseangels.com!
Est. Packaging Dimensions: Length: 0.75" Width: 7" Height: 9.25" Weight: 1.3 lbs.
Release Date Mar 5, 2006
ISBN 8590379825 ISBN13 9788590379829
Reviews - What do customers think about Programming in Lua, Second Edition?
Great book, but needs slight improvement Jun 26, 2008
The information in the book is clear, easy to understand, and worth reading. The formatting of the text, the fonts used, and the overall style of the book is lacking. The end of the book was actually a few mm shorter than the spine on my copy, but nothing was cut off, so it doesn't matter beyond looking a little odd.
I would buy it again, even if the previous version is available for free online. It's great to read when you're not near a computer, as (for a programmer) the book is easy enough to follow without needing to try every example yourself.
Great book for learning the Lua language. Jan 30, 2008
One of the best programing language books I have read. If only the programing guides for other languages could be this clear and concise.
Good PIL book Nov 17, 2007
Good examples, suggestions, and notes. Is a must have for any one looking to program in Lua.
I was not impressed Oct 26, 2007
Naming this language after the moon is ironically apropos, as many of its lunatic creator's cognitive processes seem to randomly scramble themselves according to the phase of said moon. I'm no language designer myself, but if I were trying to come up with a high-level scripting language that would appeal directly to C programmers, the last thing I'd want to do is start array indices at 1 rather than 0. Sure, you have the option of altering this behavior in the constructor, but in the author's own words:
"I do not recommend the use of arrays starting at 0 in Lua. Most built-in functions assume that arrays start at index 1, and therefore they will not handle such arrays correctly."
Talk about giving you just enough rope to hang yourself. But it gets even better. Array elements in Lua are to be removed by assigning their indices the value of nil. This is all well and good, but, again in the author's own words:
"Lua uses [the nil] value as a sentinel to find the end of the array. When the array has holes--nil elements inside it--the length operator may assume any of these nil elements as the end marker. Of course, this unpredictability is hardly what you want."
No shoot, Sherlock. So why not get rid of that unpredictability? As I read further I came to the conclusion that this decision was made because doing otherwise would spoil the running theme of the language. Another favorite passage comes from page 32 when discussing the numeric for loop:
"you should never change the value of the control variable: the effect of such changes is unpredictable."
Great! I love unpredictable results. They make so much more sense than raising a predictable exception or pointing out a predictable old syntax error. Let's see now... How else can we anger C programmers? How about if we make it so "a break or return statement can appear only as the last statement of a block"? Wonderful! Now let's get rid of one of the primary attractions of high-level scripting languages--regular expressions--and say we can't include them due to size concerns (we really need to be able to brag about our entire distribution fitting on a single floppy disk, and the PCRE library is just HUGE).
These things are marginally less obnoxious than Python's significant whitespace, but still obnoxious, and apart from the multiple return values thing, I really didn't find any compelling reason to join the Lua fanboy camp in this volume. Maybe if I were a Warcraft player I'd feel differently.
As for the book itself, the writing is terse and very obviously coming from a non-native speaker. The typesetting is atrocious (good typography is one of those things you never really appreciate until it's gone) and the entire thing looks like it was printed on an old laser printer that was low on toner at Kinko's. If it were cheaper, I wouldn't care, but it's not, so I do.
Stick to the free PDF if you really have to learn Lua for something. The changes in 5.1 are not significant enough to warrant a second edition, and the flimsy, smudged paper is really not worth paying for.
All C programmers should have this book Aug 6, 2007
Buying this book does more than support the Lua project. Having the book available will change your opinion of integrating script with C code! "Progamming in Lua" is a well-written text that makes using Lua practical. All of the best features of Lua are covered; the sample code is concise, clear and complete.
Lua is very different from C, and so allows a programmer to easily do things that are difficult in C. That makes it a perfect companion language. The only obstacle is training a C programmer to use it! That's where the book becomes useful. It's a quick read and covers all the essentials.
Even better, Lua is so well-connected to C that it is easy to switch back and forth in the course of a typical programming day, writing performance code in C and high-level logic in Lua. It is even possible to easily interact with Lua data structures in C without writing Lua code for situations where the data structures are desirable but Lua code isn't required. If you're looking for a scripting language for your next project, you need to know about Lua, and this book is the quickest way to make an informed decision.