Ask HN: Is this is a good way to learn JavaScript?
I know – these questions are asked a ton on here, but there is rarely a definitive answer. I understand that everyone learns differently, but I was wondering if you could critique my learning plan for this summer. I want to read through the materials for my uni's back end web development course [1], and take a front end class like this [2]. Let me know if these should suffice. I did the absolute basics of html and css last semester and this semester I took a course on the fundamentals of programming in Java [3]. Curious to hear your thoughts.
Links: [1] https://classes.engineering.wustl.edu/cse330/index.php/CSE_330_Online_Textbook_-_Table_of_Contents
[2] https://www.udemy.com/the-complete-web-developer-in-2018/?couponCode=DBJUNIOR281
[3] https://wustl.app.box.com/s/17s96l72w7fvihn1bz5s7sqiulguazag
12 comments
[ 3.0 ms ] story [ 32.9 ms ] threadI'm personally going through Haverbeke's "Eloquent JavaScript" -- both reading the chapters and completing all of the exercises. The 2nd Edition is written with ES5 in mind, the 3rd with ES6. The latter is only available online currently -- a print edition is stated to be in the works.
To practice my JavaScript, I joined a couple game jams where I used Phaser to build a couple small games over the course of a couple weekends. It was a mixed bag: I felt that I was learning the nuances of Phaser rather than strengthening my general JavaScript knowledge. I've been trying to replicate the "immersion" experience with JavaScript, though I've only been able to use it for personal projects at home: I can't use it at work (we build our analysis tools in MATLAB or Python, there's little experience in our group in JavaScript, and JavaScript is not typically used in our discipline).
[1] http://eloquentjavascript.net/
http://wesbos.com/courses/
NOTE: Some of his courses are paid. The plain JS course is free though. However, I paid for the React course and feel it was very worth it.
My friend bought a react tutorial which is good, not great. The teacher of the tutorial tends to just say what he is doing which is all to familiar for anyone who has tried to learn something from one of these "tutorials."
It has a Gitbook version too [1]
But it is very big but really good that you will understand the depths of JavaScript. So to begin with learn Vanilla JavaScript. Vanilla JavaScript means JavaScript only without any framework.
Then try learning ES6(ES2015)/ES7(ES2016) or in generally ESM (EcmaScript Modules). You can learn it by checking the resources below on my personal Github repo.
So to summarise, learn Vanilla JS first, then EcmaScript Modules & then choose any framework. If you don't know what to choose, or are confused then I recommend choosing either one of React or Vue, due to both are very easy to start code with.
I also made a list of my favourite reads. Remember I read a lot of books & put my favourite on there [2]
[0]: https://github.com/getify/You-Dont-Know-JS
[1]: https://www.gitbook.com/book/maximdenisov/you-don-t-know-js
[2]: https://github.com/deadcoder0904/awesome-javascript-reads
Shameless plug, I write daily about JavaScript and frontend development topics on my blog https://flaviocopes.com, with a very beginner-friendly style.
I don't have prepared learning plans _yet_, but I plan to work on that very soon, certainly before this summer, as a way to navigate my tutorials and go from level X to level Y.
Will be on the lookout for those learning plans!
My process, that I considered very successful, was:
1. Total focus on freecodecamp.org only, until I complete the first certificate (Front End)
2. Start building small, modest projects following tutorials and documentation - I think it is important to build them completely, including making it functional and available, deploying it.
Only after that, I went on to read good books like You Don't Know JS and Eloquent JavaScript.
I think this worked for me because I learn better coding (freecodecamp.org and codecademy.com's code-on-the-browser style) than reading books or watching videos. Also because I was focused on learning to get a job as a web developer (I did!).
If you think this could a be a good path for you, you can read my post "Learning to code" at my personal blog: https://rodrigohgpontes.github.io/
I liked your posts and subscribed:)