this post was submitted on 29 Jul 2024
115 points (97.5% liked)

Programming

17024 readers
176 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] arendjr@programming.dev 8 points 1 month ago (1 children)

As much as people like to make fun of JS/TS, I think you’re right, especially compared to the languages you mentioned. It’s my second-favorite language after Rust.

I think I would put Swift above it as well, except I don’t really use it since it’s too domain-specific in practice.

[–] leisesprecher@feddit.org 14 points 1 month ago (3 children)

The newest iteration of the language might be okay, but the ecosystem is an absolute mess.

Working with npm projects is always a pain, everything changes all the time for no reason, and often enough in subtle ways you can't anticipate.

Plus, there's just an army of not very good and/or inexperienced developers vomiting their incompetence into the ecosystem.

Languages are not isolated. Java doesn't force abstractFactoryBuilders, yet hundreds of developers follow that pattern. So Java in practice is rather verbose.

[–] masterspace@lemmy.ca 6 points 1 month ago* (last edited 1 month ago) (1 children)

Languages are not isolated. Java doesn't force abstractFactoryBuilders, yet hundreds of developers follow that pattern. So Java in practice is rather verbose.

Java basically does because it did not support functional programming forever forcing most of the base standard libraries to eschew those patterns (looking at you spring), and because even today it does not treat functional programming as first class and it is difficult to accomplish the same things with it then with other languages.

It is also missing many extremely common shorthand syntax expressions like optional chaining.

[–] leisesprecher@feddit.org 6 points 1 month ago

Not really, no. The over-abstraction Java is often doing is a question of mindset. Java devs tend to be very keen on reusability , which is fine, but often enough the result is unusable.

The problems behind abstractFactoryBuilders are not inherently unsolvable without these constructs, it's just that Java devs chose this rather weird approach.

[–] count_dongulus@lemmy.world 6 points 1 month ago

The language and its standard libraries lead developers towards common patterns. Javascript's standard library is pretty sparse excluding browser-only web apis, so there are tons of external libraries to fill the gap for better or worse.

[–] arendjr@programming.dev 2 points 1 month ago

I absolutely agree with you. If I can avoid NPM I will indeed do so. Sometimes that means using Deno, but sometimes it can be a valid reason to avoid using the language altogether. And sometimes we have to suck it up 🤷‍♂️