Async is easy as well. I really don't understand the hate, what am I missing? Maybe I'm too dumb for other programming languages. I did try various languages from Java, Elixir, Haskell, Rust, Go, Ruby, Python and JS is simply the best in productivity, expressiveness, ease of use and performance balance.
As long as you don't code in a clusterfuck way, it is so easy to write JS and compose JS functions. Just use functions everywhere, no need class. JS is very readable.
Like, seriously, Python has Python2 vs Python3 package and build/deployment problem. Haskell is difficult and the tooling is abysmal. Rust is difficult and too much choices to just write this and that. Ruby has no tpe system and slower than JS. Python is also slower, no good async, and its type system is not expressive as TS. Go's type system isn't expressive enough. Java type system is too much and JVM is complicated. Scala is complicated.
JS/TS is:
- simple/easy to use
- pays the bills (you can go anywhere and find jobs as JS/TS dev in almost every company in the world)
- everywhere, like from IoT to robotics to game development to server to frontend to regular scripts
- easy programming language to do Leetcode style interview as well
- if you wanna do Option/Maybe style error handling like Haskell/Rust/Go you can do that with TS, just wrap try catch and return the error with neverthrow library. This makes TS programming bliss!!! I freaking love it
If you don't want to care about setting up NodeJS + TS, now you have Deno, who's pretty much out of the box everything just works.
JS/TS is such a super boring language it feels like cheating your way out of software engineering. It is a language made for dumb people like me, maybe that's why it has no appeal for hardcore programmers.
I owe to JS/TS on changing my life and giving me a good living.
Like, seriously I don't understand the hate...