found drama

get oblique

review: High Performance JavaScript

by Rob Friesel

While reading Nicholas Zakas’ High Performance JavaScript, it occurred to me that there were actually two different reviews that I wanted to write. So, rather than try to reconcile them into one review, I’ll simply apply them here as an ordered list.

(1) To continue with the JavaScript University metaphor (from my review of Zakas’ Professional JavaScript for Web Developers): Finals are coming up in Prof. Crockford’s upper-division JavaScript class. You’ve been a diligent student all semester and although you’re not failing, it always seems like you’re somewhere in the middle of the pack. You want desperately to ace the final exam, so you reach out for some help. Zakas (the graduate student/teaching assistant for the class) offers to show you the thesis he is working on. Then It hits you like a bolt from the blue — every bit of it resonates with you. “It’s so simple! so clear!” you exclaim. The inner machinations of the language snap together in a way that makes it all feel new and exciting — the possibilities are boundless! You go back over your notes. You were close — oh so close — the whole time. But the last little bits drop in. A refinement here, a re-factor there… and the next thing you know, things are blazing. Your pages load 60% faster, execution time is down an average of 40%. You’re amazed at yourself. And when the grades for the final exam come back, you’re pleased to see that you aced it (aside from that little Oops on scoping closures — but you try to think of that as a conscious trade-off). Prof. Crockford is pleased (if a little disappointed that it took you this long to Get It) and you’re the envy of your peers. At least until next semester’s RegEx class with Prof. Levithan.  [Rated: ★★★★★]

(2) The frustrating part about working at a well-organized shop is that you get yourself all excited for a book like this and then half the recommendations in there are things that you’re already doing. Put scripts at the bottom of the document? Check. Minify and compress? Check. Concatenate and package? Check. So on the one hand you say: “I guess I can sleep a little easier at night knowing that our build system adheres to the best practices recommended by the experts out there.” But on the other hand, you’re a little disappointed because you were hoping for some startling revelations. Again: not that this makes it without merit. From this perspective, what is noteworthy about this book is that these best practices and techniques are all gathered up in one place and presented in a logical order; even if “you’re already doing it right”, it is still a worthwhile exercise to meditate on the specifics, and to really go deep on why these best practices are important. (Plus, it’s great to see the data — nothing beats a little chartporn for proving the point.) [Rated: ★★★★]

About Rob Friesel

Software engineer by day. Science fiction writer by night. Weekend homebrewer, beer educator at Black Flannel, and Certified Cicerone. Author of The PhantomJS Cookbook and a short story in Please Do Not Remove. View all posts by Rob Friesel →

One Response to review: High Performance JavaScript

Leave a Reply

Your email address will not be published. Required fields are marked *

*

*