Ask HN: How do I learn JavaScript?
61–70 of 128 posts
Re: Ask HN: How do I learn JavaScript?
#62Read the You Don't Know JS series [0] - this tackles much of what people with mediocre proficiency overlook. To go beyond that you would probably want to dive deep in to the ECMAScript specs [1] to really master the language. I don't think it will be that hard, just a slog. [0] - https://github.com/getify/You-Dont-Know-JS [1] - https://www.ecma-international.org/publications/standards/Ec...
Is there something like You Dont Know but for python? Im a sys eng thats been thrust into Python, I really enjoy the language but Im missing fundamentals
Re: Ask HN: How do I learn JavaScript?
#63Re: Ask HN: How do I learn JavaScript?
#64This point is made in the (now very outdated) book "Javascript: The Good Parts," https://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockfo.... Crockford, the author, brings you through the best way to write Javascript in 2008.
Related note: I once attended a talk from Crockford in 2010 where he was rather religious about how async code was significantly better than threads. I pointed out that async code is significantly harder to write due to the mess of callbacks, and his answer was quite rude. Now Javascript has async-await, which fixes the madness that comes from callbacks.
Re: Ask HN: How do I learn JavaScript?
#65A little side note; You could consider ClojureScript. I've worked with JavaScript many times through the years, and never felt that I got close to becoming an expert no matter what. The language it self is in the way. Browser compatibility, language weirdness (like the =, == or === mess) and there are a lot of standards around. But now a days working with ClojureScript, which settles the language problems, I get to f…
+ Use Typescript (no, it's not the same as JS)
+ Use ClojureScript
+ Use Elm
+ Use Reason
+ Use ...
If you go back about five years, you'll find this pattern also exists, except all the things people were saying to use are dead. Dead like a forgotten Egyptian pharaoh - buried and never to be seen again.
Unfortunately, all the code bases written in these poor JS-likes are still alive and I and many other poor souls still have to maintain the dang things.
You know what's still alive? Javascript. You know what still basically works the same? Javascript. You know what codebases from five or seven years ago I don't mind maintaining as much? Javascript.
Re: Ask HN: How do I learn JavaScript?
#66Something to keep in mind: Javascript has a lot of obscure language idiom that aren't used in practice. This has to do with how the language was rushed into production, and has gone through quite a lot of revisions. This point is made in the (now very outdated) book "Javascript: The Good Parts," https://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockfo... . Crockford, the author, brings you through the best way to…
Re: Ask HN: How do I learn JavaScript?
#67https://eloquentjavascript.net/ enough said
Re: Ask HN: How do I learn JavaScript?
#68Something to keep in mind: Javascript has a lot of obscure language idiom that aren't used in practice. This has to do with how the language was rushed into production, and has gone through quite a lot of revisions. This point is made in the (now very outdated) book "Javascript: The Good Parts," https://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockfo... . Crockford, the author, brings you through the best way to…
And in between callbacks and asyncawait, it had Promises. I still often prefer those over asyncawait.
Re: Ask HN: How do I learn JavaScript?
#69You'll quickly be forced to ask yourself what you want to accomplish with the knowledge you've gained and from there you will have to set yourself another course of learning the relevant APIs, frameworks, libraries, and tooling associated with that field.
The fastest way to learn a language is to use it constantly, so my actual recommendation would be to begin by building a series of small toy projects. Build the classic ToDo app in whatever form you prefer. Build a calculator, a text editor, pong, an HTTP server, a database, a data visualization tool, a physics simulation, a paint program, etc., etc. None of them should be overly complicated, at first at least, but they will force you to think about how you use the language and will quickly show up the large gaps in your knowledge about it as well as point you in the direction of the current 'state of the art'.
"Not hearing is not as good as hearing, hearing is not as good as seeing, seeing is not as good as knowing, knowing is not as good as acting; true learning continues until it is put into action." --Xunzi
or if you prefer
"What I cannot create, I do not understand." --Richard Feynman
Re: Ask HN: How do I learn JavaScript?
#70I like "Javascript for Impatient Programmers": https://2ality.com/index.html If you mean ES6 as "modern" JS, then you might want to avoid any material on prototypical nature of "true" JS (which it still is under the hood). Personally I find classes and modules to be very useful. Although you say you don't care for DOM, CSS and the many frameworks, you might need still need to build a small HTML file to kick start you…
ES6 classes still use prototypal inheritance and it still has important effects on usage.