This book has two tasks ahead of it. Not only does it have to teach the user how to program in LUA (a scripting language that WoW's GUI is written in), but also all the ins and outs of the WoW API (Application Programming Interface), and it seems to do both tasks fairly well.
Being a programmer already, it is hard to tell how well this book explains the basics. While I was able to easily grasp many of the concepts the book gave in the early chapters, I had years of experience to draw parallels from. That being said, it looks like this book handles slowly building up the reader's knowledge base in a reasonable manner. While the book is obviously geared towards people who already have an affinity towards development (seeing as there probably aren't too many people who would even look at this book if they didn't at least have an interest in the field), it still goes through everything from what a function is, to how to integrate XML with your addon and call the system's various libraries.
World of Warcraft Programming is divided into four parts across 31 chapters. Part 1 is "Learning to Program" and it is here where you will not only get the feel for those previously mentioned basics, but also the various quirks found in the LUA language. If you are already familiar with programming and/or LUA, this section might be worth merely skimming through in case you get any interesting tidbits that will be used later on.
Part 2, "Programming in World of Warcraft", takes you into the specifics of the WoW API, how addons work and what you can actually do with an addon. For instance, you can't really affect the game itself. Since being able to control characters and monsters would allow players to directly change the game, the only thing Blizzard really lets you do is change the UI. The API allows you to access tons of information about not only the current player, but his party, party members and their targets. In "Advance Addon Techniques," Part 3, the book goes into greater detail on how to make templates for your addons, programmatically change the features that it can do, delve into function hooking (basically overriding the behavior of existing addons) and creating custom graphics for your addon.
The last part, "References" was a minor sticking point for me. This section has a couple of chapters. The first one lists every function in the WoW API alphabetically. It lists all of the input and output variables and has a brief comment on what each does. The next chapter lists these same functions, but grouped by what they do. The only real problem I had with this section was the fact that it wasn't in a companion book (packaged with the rest of the book), or in some other way separate from World of Warcraft Programming. This last part adds some 600 pages to the book. Personally, I prefer to have my reference book as a separate object that I can carry around or flip through without having to worry about the initial learning stuff. I'm not faulting the book for giving the information by any means. It seems pretty complete, and if it isn't because of some future update, it promises to have the updated list on the book's companion site. It's just a personal issue to have the learning material separate from the reference material so I can pick up only one of the two, or if I need them both, have the learning book open to an example where the function is being called, and the reference book opened to that function's page so I can see what it is supposed to do.
All in all, World of Warcraft Programming is a good product. It seems to go through everything from A to Z on how to create and even distribute your WoW addon. As a bonus, I didn't see that many typos (something that seems to be hard to do in programming books). While novice programmers might feel daunted by the sheer size of this learner, just remember that a majority of the book is reference and the first 300 pages seem to be filled with good solid information.