• marietta_man@yall.theatl.social
    link
    fedilink
    English
    arrow-up
    18
    arrow-down
    2
    ·
    1 year ago

    Scala. Expressive, concise, can scale from simple to sophisticated. Sufficiently powerful - has metaprogramming, advanced types. Runs on a world-class runtime and takes advantage of a huge, mature package ecosystem that isn’t going anywhere.

    • UFO
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      1 year ago

      Seconded. The metaprogramming aspect of Scala is getting better and better.

    • interolivary@beehaw.org
      link
      fedilink
      arrow-up
      3
      arrow-down
      2
      ·
      1 year ago

      “Sufficiently powerful” is a bit of an understatement when it comes to Scala. Honestly may have a bit too many features for my taste, it’s not a small language

      • SrTobi@feddit.de
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Actually the language is quite small. The features, it has, are just quite powerful and have huge synergies so that it seems that you have a lot of complex features. It has a lot of weird corner case stuff, but most of that is because of the jvm and other languages have that too unfortunately.

        • interolivary@beehaw.org
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 year ago

          That’s a good point about the synergies, something like eg. a type system that’s expressive enough to be Turing-complete is going to have some effects. You’re right that it might just feel like a “kitchen sink language” due to complexity of the features it has, but then again I suppose it’s sort of one and the same where a language’s complexity comes from.

          But it’s no Swift, at least; now that language really does have everything and the kitchen sink.