
Master JavaScript Programming with 18 Open-Source Books - vinny12
https://www.ossblog.org/master-javascript-programming-with-open-source-books/
======
sotojuan
The only way to master JS is to read one or two books (YDKJS being one of
them) and then actually program projects of increasing ambition while asking
questions and reading docs.

I'll never understand the obsession with reading so many books and doing so
many courses.

~~~
matthewvincent
I'd say JS essential reading would be:

1\. JavaScript the good parts - because classic

2\. You don't know JS series - because depth

3\. Functional JavaScript - because underscore

Then you're done. Go find a Node or front end framework tutorial and blast off
from there. Build build build.

~~~
ramblerman
Save time and skip 1)

It's nice to know some historical context around this/hoisting. But it will
come up in YDKJS too. Start your journey on ES6.

------
PTRFRLL
I'm a big fan of the online version of Eloquent JavaScript, it has inline code
blocks that you can edit and run. Make's it really easy to test out a concept
you just read about.

[http://eloquentjavascript.net](http://eloquentjavascript.net)

~~~
exodust
Nice. The inline code editor is very cool. Been looking to freshen up my JS
knowledge so this is a good find.

------
awjr
These days I find the most important thing to 'get under your belt' is how to
think and design in a language and more importantly, in your chosen
frameworks.

Learning a language is usually not too difficult. Getting to the point where
you understand how to 'think' in that language can take months.

It's why, when exploring a new language I usually hunt out 'Designing in
<framework>' or 'Writing components for <framework>' courses and books. It is
the way you glue together an application that is key.

------
dvcc
Do people really find language-specific books helpful in better understanding
a programming language long-term? Without ever implementing something, I don't
think my memory would hang on to some language feature for long.

~~~
ng12
This is why I love Big Nerd Ranch for learning mobile dev. All of their books
are completely focused on building one or two projects from start to finish
and teaching you things about the API, dev environment, and best practices as
you go. Usually at the end of each chapter there's also a "why" which explains
why you had to do the seemingly obscure thing you just did so you're not just
copy-pasting code.

------
partycoder
The weakest spots in the JS code I have seen, in npm and the projects I've had
to maintain:

\- Profiling CPU and memory: preventing and mitigating resource leaks.

\- Robustness: Input validation, error handling, logging.

\- Event handling and construction of finite state machines: defining states
and transitions and validating them.

\- Using a sane coding standard. Like Google's JS standard rather than the
self proclaimed "standard" from feross.

The "request" npm module for example, is a FSM where states are defined by a
combination of flags. However you can obtain states that are not handled by
the library, because the FSM is constructed poorly without validating state
transitions. That is a very common theme in npm modules.

------
epmatsw
You Don't Know JS's one on Async was the book that finally made the lightbulb
go on for me with Promises. Can't recommend it enough.

------
dagw
Learning JavaScript the language is trivial compared to learning JavaScript
the eco system. I've currently started working on a project using Vue,
webpack, babel and bunch of other tools I've never used before and I feel like
I'm learning an entirely new language and 90% of the time my actual JavaScript
knowledge is completely useless.

~~~
abraves10001
Completely agree. JavaScript is often on of the easiest parts of building
front-end applications.

------
mabynogy
My favorites are missing: [http://exploringjs.com/](http://exploringjs.com/)

From Axel Rauschmayer:
[http://www.2ality.com/p/about.html](http://www.2ality.com/p/about.html)

------
rustico
Too many books. I think with 'Node.js Design Patterns' and the 'You Don't Know
JS' series is more than enough.

------
nzjrs
Only 18!?

~~~
hackerboos
Don't worry. 15 of them overlap so you should be able to read them quickly.

