Live data from Hacker News

Concepts to help developers master JavaScript

github.com

11–20 of 54 posts

Re: Concepts to help developers master JavaScript

#11
post #7

Earlier quoted context omitted.

Those features are hardly exclusive to javascript. Why did they made you love javascript but not any of the myriad of languages that support those features?

What makes you assume z3t4 exhaustively tried every other language before settling on JS? It's not typical that you present your opinion of a tv show by giving the few unique positive traits it has in contrast to the union of all positive traits from tv shows in the same genre. You just watch the show on a micro level, record what you liked about it, and report that, regardless of what the macro landscape looks like.…

> What makes you assume z3t4 exhaustively tried every other language before settling on JS?

My point was that you'd be hard pressed to find a popular programming language that does not support those features.

Re: Concepts to help developers master JavaScript

#13
One intuition I’ve had while learning Elm is that it’s a fundamentally simpler language with a smaller number of concepts to learn than JavaScript.

In this list of 33 JavaScript concepts, I count 11 that either do not exist in Elm or, like Object.assign, do not have an alternative to worry about:

No reference types

No type coercion

No == vs ===, although typeof has a simpler equivalent

Basically all expressions and no statements

No hoisting as such

No prototypical inheritance or prototype chain

No Object.create, no destructive alternative to Object.assign

No factories or classes as such

No inheritance or polymorphism

No design patterns as such, though you could argue that abstract algebra or category theory are the replacements

No this, call, bind, or apply

The finer points of these are somewhat debatable, but overall my contention is that removing mutation and local state makes a lot of related concepts just fall away. A takeaway is that when someone tells you that they’ve learned Elm, you needn’t assume that this was as huge of an undertaking as learning JavaScript.

Re: Concepts to help developers master JavaScript

#14
post #7

Earlier quoted context omitted.

What makes you assume z3t4 exhaustively tried every other language before settling on JS? It's not typical that you present your opinion of a tv show by giving the few unique positive traits it has in contrast to the union of all positive traits from tv shows in the same genre. You just watch the show on a micro level, record what you liked about it, and report that, regardless of what the macro landscape looks like.…

> What makes you assume z3t4 exhaustively tried every other language before settling on JS? My point was that you'd be hard pressed to find a popular programming language that does not support those features.

Some historical perspective:

Some languages picked it up along the way. So in my case, I only first found out about closures in JS, after going through several popular languages, that got closures only later on: Pascal, C++, PHP...

Re: Concepts to help developers master JavaScript

#15
This looks like a bunch of generic programming resources. Possibly with implementations in javascript.

I clicked in hope I'll get something targeted towards developers that have nothing to do with the javascript "ecosystem" but understand programming concepts, algorithms etc. Is there such a thing?

Re: Concepts to help developers master JavaScript

#16
post #14

Earlier quoted context omitted.

> What makes you assume z3t4 exhaustively tried every other language before settling on JS? My point was that you'd be hard pressed to find a popular programming language that does not support those features.

Some historical perspective: Some languages picked it up along the way. So in my case, I only first found out about closures in JS, after going through several popular languages, that got closures only later on: Pascal, C++, PHP...

This is especially important when considering what you'll see in codebases.

e.g. Java may be adding support for more async stuff, but most of the Java codebases I've worked with won't use it.

Re: Concepts to help developers master JavaScript

#17
post #3

What got me to love JS was probably learning about variable scope, closures, and async programming.

This is what I try to convey to a lot of people who keep making jokes about JavaScript being unpredictable and hard to program.

Just like everything else (especially programming languages), you are limited by your understanding of the concepts. It's only as difficult as you make it.

I think so many people think of it as a toy, never bother to actually learn how it works, and assume everything either does or should work like it does in other languages.

Re: Concepts to help developers master JavaScript

#18
post #16
post #14

Earlier quoted context omitted.

Some historical perspective: Some languages picked it up along the way. So in my case, I only first found out about closures in JS, after going through several popular languages, that got closures only later on: Pascal, C++, PHP...

This is especially important when considering what you'll see in codebases. e.g. Java may be adding support for more async stuff, but most of the Java codebases I've worked with won't use it.

Async-await is just syntactic sugar over futures/promises and java has those for decades.

Re: Concepts to help developers master JavaScript

#19

One intuition I’ve had while learning Elm is that it’s a fundamentally simpler language with a smaller number of concepts to learn than JavaScript. In this list of 33 JavaScript concepts, I count 11 that either do not exist in Elm or, like Object.assign, do not have an alternative to worry about: No reference types No type coercion No == vs ===, although typeof has a simpler equivalent Basically all expressions and n…

[deleted]

Re: Concepts to help developers master JavaScript

#20

One intuition I’ve had while learning Elm is that it’s a fundamentally simpler language with a smaller number of concepts to learn than JavaScript. In this list of 33 JavaScript concepts, I count 11 that either do not exist in Elm or, like Object.assign, do not have an alternative to worry about: No reference types No type coercion No == vs ===, although typeof has a simpler equivalent Basically all expressions and n…

You don't need all of these concepts on an everyday basis.

If you don't use ES5 stuff that was replaced in newer versions, things get much simpler.

let, =>, === etc.

Post reply on HN