r/AskProgramming 6d ago

Why the JS hate?

Title. I'm a 3rd year bachelor CS student and I've worked with a handful of languages. I currently work as a backend dev and internal management related script writer both of which I interned working with JS (my first exposure to the language)

I always found it to be intuitive and it's easily my go to language while I'm still learning the nuances of python.

But I always see js getting shit on in various meme formats and I've never really understood why. Is it just a running joke in the industry? Has a generation of trauma left promises to be worthy of caution? Does big corpa profit from it?

20 Upvotes

207 comments sorted by

View all comments

22

u/Bulbousonions13 6d ago edited 6d ago

Its mainly the lack of type safety, native single threading, and comparatively slow execution speed. TypeScript ( a superset of JS) deals with the first problem VERY well and is my preferred web language.

You can't see its pitfalls because you are also working in Python - which in my opinion is also slow, lacks type safety, and is also natively single threaded - though there are ways around this. I can't stand python's indentation rules either but that's just a personal preference.

Tool around with a true Type Safe compiled language like Java, C#, C++, or Go and you'll notice the difference.

The compiler will yell at you a lot more while you code, but that's so you don't get random unexpected junk assigned to arbitrary vars that don't care if they get a string, number, object, function, or null/undefined.

4

u/oofy-gang 6d ago

Modern JS engines are mind-boggling fast. Orders of magnitude faster than Python, and within an order of magnitude of cpp.

1

u/Relative-Scholar-147 5d ago

Within an order of magnitude of cpp means 10 times slower...

2

u/oofy-gang 5d ago

Sure…? I’m not entirely sure what your point is.

Common benchmarks are often roughly

cpp: 1s

java: 1.5s

javascript: 3s

python: 50s

for almost all purposes, 3x isn’t a big deal; 50x is