I have been programming and teaching programming at the university level for 25 years and I have been looking for years to find a book for children, like my 10 year old son, who wanted to learn about programming but were not up to the high school reading level. This book perfectly fills the niche. With clear writing, well thought through examples and gentle humor, it is superb for the young learner. My son has taken over my PC since I gave him the book. So, it is safe to say it can hold a child's attention.
The fact that it is good for a young audience does not mean that it is dumbed down too far to be useful for any age. The depth and pace of the material is appropriate for anyone, starting from scratch, who wants to learn to program from lots of examples. Actually, it sets the stage nicely for someone who is anxious about needing to learn programming at the university level.
The only real down side is the support for Mac. The book uses Python which works on Mac, Windows and Linux but a couple of the components used in the book do not have good instructions for the Mac on the books website. For example, they are written for older Mac OS or require you to dig deep in the system files to find the directories where things belong. The forums on the website will help but expect to need to dig around a bit, especially if you use Mac OS 10.5 (Leopard), until the author(s) fix the main Mac instructions.
Even though I had to poke around a bit to make sure the Mac would behave, I still love this book. Setting aside the fact that this fills a badly need gap in programming instruction for kids, this book is just great with a wonderful ratio of code snippets to explanations and clear concise discussions of both basic and fairly advanced concepts (like object oriented programming).