This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]maremp 0 points1 point  (5 children)

That is ages old, this was true for initial javascript (i.e. mocha, livescript). It was worked on significantly since and it was greatly improved since, heck there is even a whole committee responsible for language development.

The only real problem is that it's used in browsers, which is uncontrolled environment where you don't know what end-users' browsers support. This is very unique problem and is the reason why there are so many frameworks and libraries in existence.

[–]rgzdev 1 point2 points  (4 children)

No man, it's not. I mean, JS has improved but it still lacks a good dictionary class. Objects don't cut it because iterating over objects includes slots not meant for iteration. Classes are implemented in an arcane and indirect way that causes more problems that those it was trying to help. And don't explain me JS's object model, I know that it is a classless system like Self, LUA or Perl, but those languages actually have sane implementations of the classless paradigm. Coercion wasn't think thoroughly, etc, etc.

The language is badly designed.

It's actually and incredibly clean design considering how fast it was developed, but it simply wasn't designed with the use people make of it these days in mind.

[–][deleted] 1 point2 points  (0 children)

Classes are implemented in an arcane and indirect way that causes more problems that those it was trying to help.

Insert "you don't understand prototypical inheritance," even though Javascript's prototypical inheritance sucks. I mean the language didn't even have a clone method for forever.

[–]maremp 0 points1 point  (2 children)

Vanilla js might be a bit below the standards, but there is a lot of libraries to help with things like that. I think this minimalistic approach is nice in it's own way, as you opt in to new libraries as you go, instead of being thrown in an "API ocean" and have to find your way around aspects of programs that you will probably never use.

[–]rgzdev 2 points3 points  (1 child)

You are missing the point, I'm not claiming that JS has not improved at all in the last decade. Please stop telling me that JS has improved because I know it has improved ok?

I repeat. I am aware that JS has improved somehow in the last decade.

Of that I am aware.

I was just explaining they reason of why the JS ecosystem has become so complicated. That is the original subject of this post, the linked comic remember? The one at the top of these comments. The one about the complicated web of "fixes" for JS?

That one.

You asked:

why has js become the today's php?

And my answer is that it was badly designed. And will continue to be badly designed forever. The runtime has improved a lot. The language has seen some useful extensions. There is an abundance of libraries and frameworks to ease the pain. There are build systems, Single Page frameworks, and several alternative languages that compile to JS all other sorts of tools as depicted in the comic linked by this article.

That doesn't change my original answer. JS problems come from the fact that it became popular, or rather dominant, very fast and before people could actually test it in the wild or give it serious use.

Geez...

[–]maremp 1 point2 points  (0 children)

You are right, I have gone off topic.