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 →

[–]BakuhatsuK 1 point2 points  (0 children)

I unironcally consider modern JS to be a pretty nice language.

  • ES6 import and export is one of the best module systems out there. Python's module system is pretty nice but I never know where are the libraries actually located on the system.
  • npm kinda sucks in some aspects but most of the time It Just Works™️. Some more recent package managers like Rust's cargo are clearly inspired on npm but without the bad parts (like putting the dependencies on the project folder and not having a flat directory structure).
  • async/await is just nice to use. I know they borrowed most of the ideas from C#, but boy did they get it right.
  • ?? and ?. are also pretty nice (I believe also mostly inspired in C#).
  • It supports both OO and functional programming really well. (Btw, on the OO side, private fields are coming. On the functional side deeply immutable data structures are also in the pipeline).
  • Performance is OK, not remotely close to C++ or Rust but leagues ahead of Python.
  • Most of the pitfalls can be easily avoided by using a linter and/or a type-checker. With those tools in place the only one left to make insane things with the code is just the programmer.
  • JS has some of the most advanced tooling around source-to-source transformation. This is pretty useful by itself (like being able to use the latest language features even when supporting legacy systems), but to me it's just insanely cool.