• masterspace@lemmy.ca
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    edit-2
    4 months ago

    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
      link
      fedilink
      arrow-up
      5
      ·
      4 months 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.