• leisesprecher@feddit.org
    link
    fedilink
    arrow-up
    15
    arrow-down
    1
    ·
    5 months ago

    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
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      1
      ·
      edit-2
      5 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@feddit.org
        link
        fedilink
        arrow-up
        6
        ·
        5 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.

    • count_dongulus@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      5 months 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
      link
      fedilink
      arrow-up
      2
      ·
      5 months 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 🤷‍♂️