Personally, I'd suggest learning a programming language first: Python, Javascript, and Ruby are all good choices. Find a book you really like in one of those languages and read it cover to cover.
PS: https://eloquentjavascript.net is great, and free.
Strongly weighing my options for moving into another space such as embedded systems or DSP, where the problems are a bit more tangible.
It required a SPA framework, I am pretty much used to Backbone but wanted to use this opportunity to check how are the new shiny things these days. So I picked up Vue.js
The architecture is pretty clean, minimalistic and well thought. Soon I realized how terrible documented most of the tools on js land are these days, it was very frustrating to see that most of the options are not well documented, so that you must find a suitable blog post or tutorial from someone that is used with all the quirks.
This is not to say that the issue is with JS itself or it's ecosystem, it may be or not, but this little anecdote is what I can share from this experience. I hope this is just an exception.
1. HTML4 (no special/new tags) Edit: CSS, of course (unfortunately, CSS is a pain to learn though, so get a lot of experience/experimenting)
2. Pure ES5 JavaScript (don't waste time with build-steps/compiling JS, that defeats the point/purpose - or if you want to, learn a language like ClojureScript or Elm/Haskell)
3. jQuery to manipulate the DOM (skip frameworks and stick to libraries, this will force you to actually understand JS rather than being a copy-paster. Once you have this down, build your own personalized framework to abstract things away, only then should you try experimenting with Angular/React, etc. others)
4. Notepad++ or Sublime (avoid using any terminal tools, including NodeJS, until you are comfortable with having a browser and an editor open side by side, and refreshing when making changes. Keep it simple: just files!)
5. NodeJS or PHP, GitHub for Desktop (learn basic command line use, but if something takes you more than 20 minutes to figure out, seek out a community/forum/help that is friendly and encouraging to newbs. Don't waste time on channels that make fun of you for not knowing command line.)
6. Heroku (for deploying, and having your page live to show your mom what you built)
I wrote a beginner's tutorial for the first 3 items, it takes between 5 minutes to 30 minutes for people who have only played with a little bit of HTML. It teaches you how to build a ToDo app: http://gun.js.org/think.html , let me know if there is anything I can do to improve it.
There's a number of Show HN projects that I'm hesitant to invest much time in because they look like the author won't bother maintaining them months down the line. Even your nicely made tutorial has CSS. ;)
btw feedback:
* For some reason it wasn't evident to me that the left black box was editable and I actually interacted with the right-side wondering why nothing was happening. Perhaps use something that doesn't have an interaction so I don't try to click the button at first glance.
* Found myself scrolling up and an down a lot to read the next few instructions and updating the code. If things were side by side, this would be easier.
* It'd be nice to step backwards for the instructions
* The pre-formatted code in the instructions is a bit small. Might be hard to read for some people
Those are good points - I need to figure out how to fit the instructions in while still having space for the editor and others. And yes to the others, I'll try to get them incorporated. Thank you!!!
Every green browser have pretty good JavaScript support. document.getElementById will be your friend.
As you can tell, I'm a vanilla fan myself. Although I do think the DOM is still unnecessarily verbose - that aside, `innerText` still is not cross browser, so for that reason alone I recommend jQuery `$("#id").text("foo")` to discourage use of `.innerHTML` :( .