McGraw-Hill/Osborne
Ryan Bloom
Indeed complete. I think it would be better to leave out a lot of the overview listings on various topics (e.g. module listings). With 300 pages less, I would find it a better book.
Short but good introduction in the module API.
Well-edited, doesn’t feel like a book that was rushed to market.