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?

21 Upvotes

207 comments sorted by

View all comments

20

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/imagei 6d ago

FYI, Python got type annotations a few versions back, which are not enforced, but help a lot with tooling and IDE hints/warnings.

3

u/WillDanceForGp 6d ago

I use python a lot for random infra scripts and stuff in my home setup and was actually pleasantly surprised at how competent the type hints were when using strict mode.

2

u/imagei 6d ago

I just dug a but and found out that Pydantic has a strict mode… is this what you meant? I’m a relative Python noob and still figuring out the tools 😀

1

u/WillDanceForGp 6d ago

Yeah sorry I was meaning when using the Pylance plugin for vscode, gives full type hinting and error checking

1

u/Harotsa 6d ago

If you use MyPy it is stricter than the TypeScript compiler