I want to start coding WoW addons, but I am fairly new to LUA as well as coding in general.
In the last few days I have digged through the tutorials on WoWWiki as well as using the Interface Kit of Blizzard and got a (very) basic understanding how things are handled, but there are still some things that are unanswered to me (e.g.: what exactly does the underscore at the beginning of a variable mean, and if there is a meaning behind "myaddon_OnEvent" or if it is pure convention to just name one example).
You can name your variables and functions anything you want as long as it is not one of the 20+ reserved keywords. However, it is common practice to either prefix all your stuff with your addon name, or to put it all in one table (whose name is your addon) to avoid different addons overwriting each other's variables.
All addons operate in the same environment, lua files are executed one after the other, addon by addon, file by file.
As for the book, it is a good place to start, but the amount of information in it may overwhelm you as it introduces a lot of things in every chapter [Also note that about 70% of the book is an API reference and function listings]. The chapters come with a lot of code examples and complete usable addons to demonstrate how to do certain things in WoW.
It took me a better part of 2 years to understand the different parts of the wow UI and the intricacies of the Lua language.