2 ms·
A lot of this is opinion. And a lot of people just don't agree, that's where the hate comes from. First, a lot of hate comes not from the language itself but f
by Fradow 7y ago
A lot of this is opinion. And a lot of people just don't agree, that's where the hate comes from.
First, a lot of hate comes not from the language itself but from the ecosystem (though the ecosystem follows the ideology of the language: hacked together, go fast and break often). While I used to hate on PHP, I'm now neutral because I only heard good thing about its ecosystem (the language evolved a lot too, it helps). Javascript could get there, but a lot of work is needed.
> Being multi-paradigm has its perks
It also has drawbacks. It means you have to learn those paradigms or restrict yourself to those you know. A codebase use a paradigm you don't know? Though luck. A codebase use several paradigm at once? Yeah enjoy that.
> It doesn’t matter how robust a language is, an unskilled developer still has the same potential to create disasters [...]
That's the crux of the matter. An unskilled developer doesn't have the same potential to create disasters. Languages with a lot of footguns have more potential for disasters. Javascript, as a language, has a lot of them. "clear structural and syntactical requirements" reduce that potential. Enforcing consistent formatting reduce that. Checking types reduce that. Having less non-obvious behaviors reduce that. Javascript just don't do any of that.
> As developers, we tend to be biassed towards what we know best.
Well, my main bias is toward what's maintainable and will get the job done fast. Javascript doesn't rank as well as other languages on the maintainable part.
> JavaScript is probably the only language where you can copy and paste code from Stack Overflow and, 90% of the time, it’ll work the first time around
I didn't have similar results except for very basic code. While we would need a larger sample rate, I generally have more success with other langagues.
> Everyone talks about learning Angular, React, and Vue, but never really about Vanilla JavaScript.
That's because our work is to get the job done, and unless you have very simple requirements and/or little maintainability concerns, using a framework is a must (otherwise you end up doing your own framework, invariably worse than existing frameworks and using up a lot of time).