Secrets of the JavaScript Ninja
Secrets of the JavaScript Ninja

Author: John Resig & Bear Bibeault
Publisher: Manning
Pages: 300
ISBN: 978-1933988696
Audience: Competent JavaScript programmers
Rating: 4.8/5
Reviewer: Ian Elliot

Many think that JavaScript couldn't punch its way out of a paper bag? Is this just because they don't understand it?


There is no doubt that if anyone deserves to be called a JavaScript Ninja it's John Resig, one of this book,s authors and creator of jQuery among other things. There is, however, some doubt as to what being a Ninja programmer actually means - is it all fancy footwork with no method and science?




In JavaScript's case the situation is complicated because many programmers who think they have mastered the language haven't even scratched the surface. JavaScript is not Java, nor it is C++, nor is it like any of the other mainstream languages. It is an object-oriented, dynamic, functional language, and this means you will probably have to learn new things to get the best from it.

This book isn't for the complete beginner and it isn't a coherent course introducing JavaScript even to a programmer. What it is is a set of looks at how JavaScript is different, so before you read this you need to have a reasonable grasp of JavaScript as a conventional language and want to know more.




The first part of the book sort of works its way around the main topics without actually coming to grips with them. We consider libraries, cross browser issues, testing and something about qUnit.

Part 2 is where the book really gets started on its main core material. It considers functions simple and sophisticated. From basic functions it moves on to anonymous functions, recursion, functions as objects, variable length argument lists and so on. Next we look at closures, not just the basic idea but what they can be used for. Finally we reach the idea of the constructor and the complicated topic of the prototype. 

This part of the book ends with two chapters on practical matters but which are not really core JavaScript - regular expressions and timers. if you thought you understood timers, or if you know you don't, then reading this account should put you straight.

Part 3 of the book is called Ninja Training and it is supposed to be about using the advanced ideas. It covers code evaluation, i.e. modifying code at runtime. We also learn about the with statement, which is a strange topic because it is not allowed in strict JavaScript. The section ends with a look at cross browser issues and problems with working with the DOM's attributes and properties.

Part 4, "Master Training", covers events, the DOM and CSS selector engines. It isn't really clear why this is a separate section as the topics seem on a par with those included in Part 3.

The approach taken throughout the book is a mixture of easy to follow explanation and less easy to follow examples. The examples generally show you something and then asks you what you expect to happen. Then it tells you the actual outcome and tries to make the general behaviour clear. This worked better when the general behavior was described in before the example. That is it is generally better to describe the principle and then present an example that illustrates it rather than the other way round.

Finally, the structure of the book leaves a lot to be desired. There isn't much progression of topics and a critic of JavaScript could well level the complaint that the book simply demonstrates that there are no general principles behind the language. This isn't true, it is just that the authors prefer to explain loosely connected topics rather than present a modern coherent approach to the entire language and its most common runtime environment, i.e. the browser. This might seem like a harsh criticism, but to be fair this isn't what the book sets out to do. It really is a collection of readings about the more interesting parts of JavaScript. I guess an alternative title for the book could have been "JavaScript - the interesting parts". 

Despite all my criticisms it is important to note that this is a really enjoyable book if you know enough JavaScript and are enthusiastic to learn more. It really is a lot of fun and it could well make readers rethink their attitude to JavaScript and how they use it. As long as you are not a JavaScript beginner or a JavaScript denier,  this book comes highly recommended.

Don't worry about my few minor niggles, I'm nitpicking, buy a copy. 



Clojure Recipes

Author: Julian Gamble
Publisher: Addison-Wesley
Pages: 288
ISBN: 978-0321927736
Print: 0321927737
Audience: Clojure programmers
Rating: 4 
Reviewer: Alex Artmstrong

A cookbook for a difficult language like Clojure - can that work?

Java SE8 for Programmers (3e)

Author: Paul J. Deitel & Harvey M. Deitel
Publisher: Prentice Hall, 2011
Pages: 1104
ISBN: 978-0133891386
Print: 0133891380
Kindle: B00JC9I3RC
Audience: Programmers moving to Java; students
Rating: 3.5
Reviewed by: Ian Elliot

The latest edition of the Deitel tome on Java has been updated [ ... ]

More Reviews

Last Updated ( Tuesday, 19 February 2013 )

RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2017 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.