A review by tamouse
Eloquent JavaScript by Marijn Haverbeke

4.0

UPDATE

I re-read this book after a while, after digging in with more Javascript, and I have to change my opinion on [b:Eloquent JavaScript: A Modern Introduction to Programming|8910666|Eloquent JavaScript A Modern Introduction to Programming|Marijn Haverbeke|https://d.gr-assets.com/books/1308260856s/8910666.jpg|13787033]: This book is essential to understanding how to write Javascript applications. Not just the sort of everyday JS you might write in small snippets to support a site that is mostly driven from the backend, but the sort of modern, single-page application that today's JS libraries support. Even further, when you carry JS itself into the backend, via node/io.js, what Marjin talks about in this book becomes not just essential, though still that, but rather mandatory for code that is understandable, maintainable, and extensible.

If you're working on JS applications, buy this book. In addition, get the books by [a:Kyle Simpson|5333816|Kyle Simpson|https://d.gr-assets.com/authors/1425808791p2/5333816.jpg] in his "You Don't Know JS" series.

Old Review
This may not be the Javascript book you are looking for. If you plan on writing a JavaScript library at some point, it may be useful?But I found it rather too mundane. Learning the JavaScript "object" model can definitely be useful, and the author's approach to functional programming concepts might be okay, it still gave me nothing of much use in the end.

Taking the full title, it does provide some fairly decent foundational information on how to program, but it fully misses the boat when it comes to telling people how to actually solve problems in software, as do most all texts in this realm.

For an introduction to programming, it already assumes the reader has a grasp on data structures, algorithms, and how to determine which ones to use. It does nothing to help the new programmer in solving problems, breaking them down, etc., assuming the new programmer already knows how to do that.

As for eloquence, I also think that is a misnomer of huge proportion. While I concur that functional programming provides a rather great amount of eloquence to software development, the author misses many an opportunity to provide more fundamental understanding of it.