• arendjr@programming.dev
    link
    fedilink
    arrow-up
    8
    ·
    4 months ago

    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
      link
      fedilink
      arrow-up
      14
      ·
      4 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
        6
        ·
        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@feddit.org
          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.

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