Review JavaScript: The Missing Manual

Discussion in 'Articles, Reviews and Interviews' started by tripwire45, Sep 21, 2008.

  1. tripwire45
    Honorary Member

    tripwire45 Zettabyte Poster

    Author: David Sawyer McFarland
    Format: Paperback, 543 pages
    Publisher: Pogue Press ( July 15, 2008 )
    ISBN-10: 0596515898
    ISBN-13: 978-0596515898

    Review by James Pyles
    September 21, 2008

    This review has been a long time coming...mainly because I've been having such a good time with this book. That said, the title is a bit misleading. It's not really "The book that should have been in the box" (even if JavaScript came in a box) since a "box of generic JavaScript" wouldn't have come with half of what this book contains. In fact, I'm not really sure the reader will come away with a solid foundation in JavaScript after reading McFarland's book. Let me explain.

    I suppose that last statement was somewhat unfair, because a good number of the chapters in "Part One: Getting Started with JavaScript" really do cover the somewhat standard and required fare for learning JavaScript, assuming you've never programmed before. However, the thrust of this book is less about teaching the reader "vanilla" JavaScript and more about teaching the reader how to do some very cool and practical stuff with webpages. As far as a book teaching a neophyte web developer how to use JavaScript to alternately color table rows, validating web forms, creating tooltips, slideshows, and incorporating Google maps into a site, McFarland's efforts are a near-perfect success. However, the way the reader learns to accomplish these tasks isn't usually presented in a beginning JavaScript guide.

    Ever hear of jQuery? Programming newbies don't usually learn about libraries straight off the bat. It's typically more important to become well versed in the basics of a language before delving into any advanced materials. In this case, the "basics" are covered in the first 6 or so chapters and then jQuery is introduced as the "secret" ingredient in how to add lots of dynamic style and functionality to a website. Oh, for those of you who haven't heard of jQuery, Wikipedia and are excellent resources to help you fill in the gaps.

    Right now, I work with a group of software gurus as the company's technical writer, documenting their work on a web application designed to add security for businesses involved in eCommerce (which is just about everyone). As I was reading through McFarland's book, I started to notice that the tutorials he presented looked familiar. I checked a number of the dynamic effects on my employer's test web app and sure enough, they were almost the same. A quick peek under the hood and I saw that the gurus were using jQuery libraries to accomplish some of the same tasks that McFarland includes in his book. Talk about practical.

    I maintain a few websites for various non-profit organizations and I decided to apply some of the tutorials to these sites as a test run. It took a little tweaking to turn the book's tutorials into something I could use in production, but by and large, the lessons go far and above what most other JavaScript books provide in terms of real world material.

    The book isn't perfect. While the tutorials in print seemed to be presented correctly for the most part, some of the files I downloaded from the author's site didn't quite work as advertised. The downloadable code samples are divided into those webpage examples you work on with the book and their counterparts which are complete. That way, if you have introduced a problem in your work, you can compare it against an identical page that works as advertised, to see where you might have gone wrong. I did encounter one of these "completed" pages that had an error and didn't work right (though it was a good lesson for me since I debugged and fixed it).

    While most of the chapters contained more than enough tutorials, a few chapters such as Chapter 4 could have used more. One thing I liked is that the AJAX chapters required the reader to set up a small, testing web server. Nothing fancy, but it really gives the audience a chance to see how a JavaScript enabled webpage interacts with a web server rather than having to "fake it" as many other books do. My only complaint is that only a single tutorial really required this. If McFarland is going to have the reader go through the effort of setting up a web server, why not really exploit the opportunity.

    Another thing I liked about the tutorials is that it required the reader to actually keyboard in the relevant bits of code into the example pages. This is the only way to learn to code (by doing it) and copying and pasting doesn't teach a thing by comparison. There is no substitute when learning a programming language (or most other things) to a tutorial-driven textbook.

    Of course, since jQuery does most of the heavy lifting through most of the book, there's a limit as to how much actual JavaScript the reader really learns. If only results count, then that won't matter to you, I suppose. There's plenty of material that will lend itself to helping you really jazz up your website, just by plugging in some jQuery and adding a few lines of JavaScript and a relevant CSS style sheet. On the other hand, if you had your heart set on becoming a JavaScript guru after reading this book, look for another text. If you plan on becoming a jQuery guru, you'll need to read even more books.

    Do I recommend this book? Absolutely. However, I don't think it has the right title and maybe it shouldn't even have been published in the "Missing Manual" series since pure JavaScript, it's not. The book will teach you some very practical, usable lessons on using JavaScript, jQuery, and CSS to improve interactivity in most websites (and I can see why McFarland's CSS: The Missing Manual was such a success...wouldn't mind reviewing it, either). The author leverages his significant expertise in web development to offer a package between the covers of this book that just about can't be beat. If you want to learn JavaScript through and through, this book probably won't do it for you. If you want to learn to do things for real world websites, this book is a must.
    Certifications: A+ and Network+
  2. kayanat

    kayanat New Member

    How do I turn Javascript on using Mozilla Firefox? When I go on YouTube, it gives me a message that says you either have Javascript turned off or you have a older version of Flash Player. I've tried going to Tools>Options, but it says Javascript is enabled and still it won't work. Someone help!
  3. Sparky
    Highly Decorated Member Award

    Sparky Zettabyte Poster Moderator

    Certifications: MSc MCSE MCSA:M MCSA:S MCITP:EA MCTS(x5) Security+ Network+ A+
    WIP: Office 365, Server 2016, CEH
  4. networkkiddo

    networkkiddo New Member

    great article thanks
  5. Allicewatson

    Allicewatson New Member

    Wow ....

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.