this post was submitted on 29 Jul 2024
93 points (97.0% liked)

Programming

16975 readers
1288 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 [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 5 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.

[โ€“] [email protected] 4 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.