Review: Node Up and Running by Tom Hughes-Croucher & Mike Wilson (O’Reilly Media)

This is a review of “Node Up and Running by Tom Hughes-Croucher & Mike Wilson; O’Reilly Media.

To quote Nathan Thurm (~46 second mark):  “Is it me? It’s him right?”

Writing a book about a programming language must be difficult: Who’s the intended reader? Take a hands-on approach or a conceptual one? How to mix the two approaches?

After a very brief description of the goals of the language, the authors present a series of hands-on examples.  After installing Node, I jumped in:  coding/running/modifying many of the examples in Chapter 2.

However, I found the experience frustrating; I ended up with more more unanswered questions about the “hows and whys” of each example as I went along.

After a (long) break, I went directly to Chapter 3, “Building Robust Node Applications”, looking for a better understanding of Node’s architecture.  It contained several detailed analogies, followed by solution descriptions of several Patterns.  I found these to be helpful.  They focused on efficient design for different I/O scenarios, error handling, and multi-core issues.  In retrospect, I should have read this chapter first, before doing any coding.  It helped to clarify many of the questions I had about the earlier examples.

However, after reading that section I reviewed several other examples that revived my frustration.

In my opinion, the book alternated between reasonable conceptual explanations and incompletely-explained and/or ill-advised examples (e.g. many examples using nested anonymous functions – they work, but the authors discourage using them for production code).

The Big Picture: by using a non-blocking callback-based architecture, Node offers a different way to solve several types of design problems. Got it. The Details: I found it difficult to learn how to best apply Node’s features by reading this book.

(Disclaimer: I participate in the O’Reilly Blogger Review Program).

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

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