from Hacker News

Four Books to Master JavaScript Engineering

by dannygarcia on 2/6/14, 5:02 AM with 23 comments

  • by shadowcats on 2/6/14, 8:16 AM

    I would of course add "The good parts" by Crockford to the list.

    But maybe that is just par for the language course, before one even starts to wants to master Engineering :)

    JavaScript: The Good Parts - http://www.amazon.com/gp/product/0596517742/ref=as_li_ss_tl?...

    Here's a few other good ones:

    Functional JavaScript: Introducing Functional Programming with Underscore.js - http://www.amazon.com/gp/product/1449360726/ref=as_li_ss_tl?...

    Secrets of the JavaScript Ninja - http://www.amazon.com/gp/product/193398869X/ref=as_li_ss_tl?...

    Javascript Allongé (free to read online) - https://leanpub.com/javascript-allonge

    Javascript Spessore (free to read online, but currently work in progress) - https://leanpub.com/javascript-spessore

    Here's a good one about Angular, my favorite framework:

    Mastering Web Application Development with AngularJS - http://www.amazon.com/gp/product/1782161821/ref=as_li_ss_tl?...

    I would of course also recommend the Egghead videos for any Angular aficionados: http://www.youtube.com/playlist?list=PLP6DbQBkn9ymGQh2qpk9Im...

    PS. The Amazon links are affiliate links.

  • by akbar501 on 2/6/14, 10:13 AM

    1. Async JavaScript: Build More Responsive Apps with Less Code http://www.amazon.com/gp/product/B00AKM4RVG/ref=kinw_myk_ro_...

    Any serious JS dev needs to master async.

    2. Functional JavaScript: Introducing Functional Programming with Underscore.js http://www.amazon.com/gp/product/B00D624AQO/ref=kinw_myk_ro_...

    While the book uses Underscore, that's not its focus. A good understanding of functional programming and when it can be useful is a valuable skill.

  • by kabdib on 2/6/14, 1:25 PM

    Don't read _Design Patterns_ as a novice. It will hurt you.

    Or, if you have to read it, please realize that everything does not need a factory, and you almost certainly don't want to have nested and indirect factories (I have three letters for you that should be terrifying: COM), and that not every piece of code you write needs to be from The Book of Patterns, and in fact if you do find yourself leafing through TBoP in search of a pattern to use, you're going about things all wrong and your cow-orkers will hate you and string you up for Pattern Abuse and the best thing that can happen is that you'll look at your code six months from now and say to yourself, "Ewwww, this crap has got to go."

  • by raganwald on 2/6/14, 7:50 AM

    Mastering "engineering" in a language and maximizing your interview "performance" are loosely coupled at best.

    Also, leave the affiliate links in. Those who care to remove them know how to change the affiliate code to benefit their favourite charity.

  • by chadillac on 2/6/14, 6:03 AM

    CODE is a book I recommend to tons of people, such a great read, can't recommend it enough. From EE starters to CS to the curious observer, tons of great information delivered in an enjoyable way.
  • by minusSeven on 2/6/14, 7:09 AM

    Of the 4 books on Javascript 3 are not even on Javascript !
  • by brickcap on 2/6/14, 2:21 PM

    It is not really a book but I find resources on mdn very helpful

    https://developer.mozilla.org/en-US/learn/javascript

    Besides tutorials on mdn they have included links to some of the best javascript resources on the internet and classified them according to the level of the individual. It was very helpful when I was starting out in javascript and I still go back time to time to refresh some concepts

  • by hopfog on 2/6/14, 12:40 PM

    I can highly recommend "Professional JavaScript for Web Developers" by Nicholas C. Zakas. It's almost a thousand pages but I read it cover to cover.

    It explains all aspects of JavaScript in a very clear and concise way and contains the best description of the prototype chain and inheritance in JS I've ever read.

  • by WillPiner on 2/6/14, 7:09 AM

    Eloquent JavaScript got me through the basics.
  • by hugofirth on 2/6/14, 11:47 AM

    Does anyone have any thoughts on recommendation No# 4 ("Algorithms (4th Edition) by Robert Sedgewick & Kevin Wayne") vs my personal favourite algorithms reference: CLRS[1].

    I love CLRS but am always up for increasing my knowledge base when it comes to algorithms. Has anyone read both?

    [1]: http://en.wikipedia.org/wiki/Introduction_to_Algorithms

  • by quarterwave on 2/7/14, 11:32 AM

    Any recommendations for resources to improve one's Javascript code running on the back-end, for example node.js/V8 or vert.x/JVM.

    Specifically: (i) how to leverage Javascript to write better networking code (e,g; cluster, websockets, etc), and (ii) for number crunching on the server-side, should the relevant code be written from scratch in functional Javascript, or is it better to fork a process that runs (say) Julia code?

  • by ojr on 2/6/14, 10:27 AM

    Im taking a free coursera course on Algorithms with Robert Sedgewick, much more better than the CS courses I took at a "good" CS school
  • by illamint on 2/6/14, 4:32 PM

    Surprised to see no mention of "JavaScript: The Definitive Guide" (http://shop.oreilly.com/product/9780596805531.do). It's a big, heavy book but it's what really pushed me to a higher level of JS understanding.
  • by wila on 2/6/14, 1:12 PM

    As we are plugging somebody else's books... I can throw in a book that a friend of mine is a co-author on "Ext JS in action version 2" which I heard has just materialized. Linky below:

    http://www.manning.com/garcia3/

  • by MadMaddie on 2/6/14, 3:57 PM

    It's quite irritating to see how loosely the term "engineering" is applied nowadays. Please.
  • by platz on 2/6/14, 7:45 AM

    "it can be daunting because the examples are written in Java." not sure why Java is a problem for teaching algorithms.
  • by vvvVVVvvv on 2/6/14, 11:53 AM

    "I’ve removed the referral from these Amazon links for your benefit."

    Hmmm yeah, sure.

  • by renownedmedia on 2/6/14, 5:58 AM

    Should have left those affiliate links in ;)