
Ask HN: How should I start with modern JS? - Peradine
I&#x27;ve got a little experience with Python, and I like how the simplistic syntax works. I&#x27;m keen to  develop JS code, but I&#x27;m confused by the current JS ecosystem. Is it best to learn normal JS, or some compiles-to-JS language (like coffeescript etc). And is there anywhere I can learn about the apparently huge number of JS tools and workflows out there?
======
lsiunsuex
Start with pure JS. No JQuery, no React, no Angular. Just pure JS.

Once you get a grip on what the language is capable of and how to use it, then
you can understand how the frameworks work and why they save time / make life
easier (or harder).

I once worked with a programmer that learned Laravel without actually learning
PHP. That's great - he could jump into Laravel projects, but when it came time
for him to help on anything custom or WP sites; he was completely lost. He
also had no idea how or why Laravel worked; just that he memorized x snippets
of code and they produced a result.

It'll make you a better programmer in the long run.

~~~
brudgers
I'd add: no Node, no NPM. Learn the browser and it's tools. Avoid _all_
dependencies at first so that going forward, there will be a basis for
determining if taking a dependency is worth the long term cost and the upfront
cost of using it.

------
Oatseller
A good place to start is MDN (Mozilla Developer Network):
[https://developer.mozilla.org/en-US/](https://developer.mozilla.org/en-US/)

MDN Javascript resources: [https://developer.mozilla.org/en-
US/docs/Web/JavaScript](https://developer.mozilla.org/en-
US/docs/Web/JavaScript)

Before starting the tutorials, take some time to learn what's available in the
Firefox developer tools. You won't need most of them at first, but knowing
what's available will help as you gain experience.

The two developer tools you'll probably use most when leaning are the
Scratchpad ([https://developer.mozilla.org/en-
US/docs/Tools/Scratchpad](https://developer.mozilla.org/en-
US/docs/Tools/Scratchpad)) and Console ([https://developer.mozilla.org/en-
US/docs/Tools/Web_Console](https://developer.mozilla.org/en-
US/docs/Tools/Web_Console))

[https://jsfiddle.net/](https://jsfiddle.net/) &
[http://jshint.com/](http://jshint.com/) will also be very useful while
learning JS

I haven't taken any but Udacity has some javascript courses
([https://www.udacity.com/courses/all](https://www.udacity.com/courses/all)),
just tick the "Javascript" checkbox under "Technology" in the left menu

Some additional resources:

[https://developer.chrome.com/devtools](https://developer.chrome.com/devtools)

[https://msdn.microsoft.com/library/bg182326(v=vs.85)](https://msdn.microsoft.com/library/bg182326\(v=vs.85\))

[https://msdn.microsoft.com/en-
us/library/d1et7k7c(v=vs.94).a...](https://msdn.microsoft.com/en-
us/library/d1et7k7c\(v=vs.94\).aspx)

[http://www.ecma-international.org/ecma-262/6.0/index.html](http://www.ecma-
international.org/ecma-262/6.0/index.html)

[https://github.com/getify/You-Dont-Know-JS](https://github.com/getify/You-
Dont-Know-JS)

[https://addyosmani.com/resources/essentialjsdesignpatterns/b...](https://addyosmani.com/resources/essentialjsdesignpatterns/book/)

Dated but still worth watching:

[https://www.youtube.com/watch?v=hQVTIJBZook](https://www.youtube.com/watch?v=hQVTIJBZook)

[https://www.youtube.com/watch?v=bo36MrBfTk4](https://www.youtube.com/watch?v=bo36MrBfTk4)

edit: added addl. resources

