Saturday, September 01, 2012

My Review of Learning PHP, MySQL, JavaScript, and CSS, 2nd Edition


Great intro to key web technologies
By phollott from Vancouver Island, BC on 9/1/2012


4out of 5
Pros: Easy to understand, Clear
Best Uses: Intermediate
Describe Yourself: Developer
I recently read two books from O'Reilly Books dealing with JavaScript: "Learning PHP, MySQL, JavaScript, and CSS" and "Learning JavaScript Design Patterns" by Addy Osmani. The first book is a great introduction to four often essential technologies for getting things done on the web - I only wish this book covered managing XSLT using Sablotron in PHP 5.0 in more depth, but this is due to personal bias - in a past life, I built some cool things using these 5 technologies.

The design patterns book was also a very good read, though, I used it more of a refresher of design patterns in general - the patterns in this book were for the most part based on the standard Java design patterns, covering some of the nuances of classical vs. prototypal inheritance.

But let's face it, Object-based Development using JavaScript is obscure subject matter, and Osmani's book has some really indispensable advice: see how these patterns are applied within the JQuery library, which contains the best application of JavaScript Design Patterns you will find. This is truly great advice.

Which brings me circuitously to JQuery creator John Resig, for whom I have immense respect; and his latest foray into simplifying JavaScript to make it easier to use as a readily available first language, which I endorse completely. One thing I appreciated in "Learning PHP, MySQL, JavaScript, and CSS"... no semicolons!

Heresy!

But really, as long as you put separate statements on separate lines, there are virtually no situations where semicolons are essential. And in fact, I found the example code in Robin Nixon's book Much easier to read than the example code in Osmani's book. I may just have been converted to the darkside.

I highly recommend both of these books.

No comments: