February Mini Book Reviews
Over the past month, I've read four books that I wanted to review for you: Learning Perl Objects, References & Modules, Text Processing in Python, Core PHP Programming, 3rd Ed. and MySQL 2nd Ed.. All of them are good books for the audience each is trying to hit. Take a look below for some more information.
I tend to review books that are interesting to me (no surprise there), but if you'd like me to review a book, let me know at firstname.lastname@example.org, and I'll do my best to put it in my reading pile.
In addition to a short review of each book, I'm also rating them on a scale of 1 to 10. Tens represent something pretty close to life changing, so don't look for them too often.
Many years ago, I found a copy of Randal Schwartz's Learning Perl, which I really loved. I've suggested it to a number of Perl neophytes since then. I even bought a copy for my daughter last year so she could get a feel for what Perl can do. I'd always wanted a follow up that was more approachable, and now Randal and Tom have provided exactly the book I was looking for.
Learning Perl Objects, References & Modules is a fairly small book, 179 pages discounting exercise answers and appendix, but it packs a solid amount of information into that small space. The book is laid out to support a Perl training class, and permission (and advice) is given for instructors who want to use it as a text book. It works perfectly well for self-guided learning though, so don't worry about picking it up for yourself.
My only nit was that some of the OO related bits are familiar to avid readers of Randal's work. Other than that, I really enjoyed the book. The chapter on Essential Testing probably is my favorite, although a number of good things are scattered throughout. I'm giving this book a solid 9 stars--and I'm giving a copy of it to my daughter as soon as she finishes Learning Perl.
Upon picking up and leafing through Text Processing in Python, I immediately took a liking to it. David skips over a lot of the extraneous clutter that tends to fill books. His preface (chapter 0) has a meatiness missing from most others. While not huge, 416 pages in all, the book presents a fairly dense chunk of information.
Although David manages to convey both the philosophy of text processing and the use of Python quite well, it sometimes felt as though I was reading a Python reference with some of text munging information tossed in. Another downside to David's presentation is his typography is quite different from what you'll see in most other books. The book is easily readable though, so neither of these should present a big problem.
Although the book is quite good overall, I think I learned the most from Chapter 4, "Parsers and State Machines". I'll keep this book handy for a while, and try to absorb some of its lessons as I go back to it with specific problems to solve. Text Processing in Python gets 8 stars.
Part desktop reference and part programming guide, Core PHP Programming is a great book for both the beginning PHP programmer and those with more experience. It has been updated to include PHP 5, as well as new material covering XML, object techniques and design patterns.
The authors do a great job of evangelizing PHP; the more I read, the more I found myself wanting to use PHP to create Web sites. Chapters 1 - 7 form a PHP Programming unit. Chapters 8 - 20 (a whopping 669 pages) comprise a functional reference. And Chapters 21 - 25 comprise a section on algorithms. The final four chapters cover software engineering including design, debugging and design patterns.
I really enjoyed this book, and plan on keeping it handy for the odd bits of PHP work that come my way. I'm giving it eight stars.
The first edition of this book was my introduction to MySQL, and it's been a well-used part of my bookshelf ever since. When I saw that a new edition had come out, I knew I'd need to grab a copy. Happily, the 2nd edition didn't disappoint.
This book is even bigger than the last go-around, weighing in at 13 chapters and 8 appendices, for a total of 1,150 pages. The first four chapters present an overview of MySQL use. The next four describe the programming interface in general and for C, Perl and Python, respectively. The author also has a great pair of Ruby-related articles on his Web site, and I wish they'd been included in the book. The final five chapters are geared toward MySQL administration. The appendices provide a number of references.
Paul DuBois writes in a way that is both authoritative and easy to read. His examples are clear and help the reader understand the concepts Paul teaches in the text. I think MySQL 2nd Edition deserves nine stars.