• idriss@lemmy.ml
    link
    fedilink
    arrow-up
    9
    ·
    21 hours ago

    Wow seems like nice article

    Open

    Start reading (first few sentences)

    Large medium pop-up covering everything

    Close tab, I am good

  • Ben Matthews@sopuli.xyz
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    edit-2
    22 hours ago

    This article feels to me really out of date. Scala3 was launched nearly five years ago, The tooling and lib-support was indeed dodgy back then but works very smoothly now. Scala3 also broke Scala2 macros, and some people whose business-model was selling support for clever libraries built on those macros made a lot of fuss (bad publicity). Meanwhile Scala3 has new more robust macros which work fine.

    I develop in scala an interactive climate-scenario model web-app . It’s running the model in your browser (500 years x 250 countries x many gases, sectors, feedbacks etc. - so it’s complex)… The scala code compiles to js (or wasm) -which is what runs this web app - but the same code also compiles with scala-native to run fast batch- calculations or tests. It also compiles to the jvm app like my older java code, but I rarely use this now.

    Scala3 code looks more like python than java - minimal brackets, and much nicer to read and higher level than rust.
    As for tools I just use Zed editor with Metals for LS, Mill for build, and other libs from the lihaoyi ecosystem, no web ‘frameworks’. Scala is both robust and flexible. In general - if the code compiles, typically it runs correctly first time, if not the very-intelligent compiler identifies precisely what to fix where (very different from so-called ‘AI’). So instead of reams of junk ‘tests’, it’s usually just enough to check whether my climate system plots look and behave as expected - higher level thinking.

    As for Kotlin it was effectively a russian-led (at the time) fork of Scala, staying closer to Java - so less flexible, but they did much more systematic marketing - and I suspect some of that deliberately pushed blog posts knocking Scala.
    What Scala lacks is promotion, so those following fashions of this hype-driven world won’t find it.
    For those who use it, it’s a great language, to do complex stuff that scales robustly.

    • soc@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      4 hours ago

      Is it surprising that a “worse” language won, when Scala kept making one strategic blunders after another for more than 10 years?

      It’s not as if they didn’t know they were making costly mistakes, they just didn’t care.

    • silasmariner@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      15 hours ago

      Yeah, every so often there’s an article like this and tbh it always seems to boil down to ‘i couldn’t get a job in it’ lol. Scala isn’t Java or Go, it’s never gonna have as many open roles as those sorts of languages. Doesn’t feel to me like it’s dying – all the libs I depend on have been available for scala 3 for at least a couple of years now, all the ones that aren’t already so feature complete as to warrant ‘stable’ status get regular updates. Kinda don’t like ppl trash talking my favourite language NGL lol 😂

  • fxdave@lemmy.ml
    link
    fedilink
    arrow-up
    20
    arrow-down
    2
    ·
    1 day ago

    And the uncomfortable question is, why was he moved closer to scala in the first place.

    (ok I’m no different, I learned elixir once)

    • GiorgioPerlasca@lemmy.ml
      link
      fedilink
      arrow-up
      13
      ·
      edit-2
      1 day ago

      Because Scala allowed you to write much less code than Java. After Java was bought by Oracle, they shifted to a faster release cadence and new features. But developers still had to use things like Lombok, Guava, and Apache Commons to have an easier way to do things.

      Now, both Kotlin and Java 25 have a lot of the features that Scala was the first to introduce, so it does not seem important. But it was very important back then.

      Also, the Big Data world was embracing Scala. Apache Spark is written in Scala and so many other important tools and libraries in the Big Data ecosystem were in Scala.

      Edit. Fixed information about releases after Oracle acquisition.

      • locuester@lemmy.zip
        link
        fedilink
        English
        arrow-up
        9
        ·
        1 day ago

        Java 25

        Holy hell I’ve been out of that world for a hot minute. I got certified in Java 2 as a young lad in 2002 or so.

        Have there been versions the whole way up, or did they skip and jump to match the year at some point?

        • loweffortname@lemmy.blahaj.zone
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          19 hours ago

          Java 8 was a thing for a long time (source administered Hadoop clusters that were - and possibly still are - stuck on Java 8).

          Java 8 was analogous to 1.8…for reasons.

          I wanna say Java 11 (the version after 8) came out around 2011? After that the release cadence was somewhat steady. I think Java 21 landed around 2021?

          (Note: I refuse to actually look any of this up.)

          Edit: my refusal to look anything up immediately bites as someone else pointed out:

          1. There was a Java 10
          2. It was released in 2018.
          3. Both of these facts helped me remember Java 9 being released.

          (Note: I continue to refuse to actually look anything up)

          • locuester@lemmy.zip
            link
            fedilink
            English
            arrow-up
            1
            ·
            7 hours ago

            Java 8 was analogous to 1.8…for reasons.

            Yeah Java 2 was actually 1.2 for… same reasons

        • GiorgioPerlasca@lemmy.ml
          link
          fedilink
          arrow-up
          4
          ·
          edit-2
          1 day ago

          So were you writing applets and swing applications? It was a completely different time! However, a lot of Java 2 code can run on Java 25 with small changes!

          Java switched to a rapid release cycle in September 2017, when the six-month, time-based release cadence was first proposed and implemented. Starting with Java 10 in March 2018, a new version is released every March and September.

          Many Java versions are actually ignored by developers, who only use Long-Term Support (LTS) versions, that are released every two years.

          • locuester@lemmy.zip
            link
            fedilink
            English
            arrow-up
            5
            ·
            1 day ago

            I was doing enterprise stuff. Was a weird time dodging bullshit like j2ee “javabeans” stuff but picking out the signal from the noise.

            Mostly did websphere hosted jsp stuff. Moved to that from… check it… J++. It was right in the midst of the MS v Sun lawsuit craziness.

            Only did 2 years before a huge MS .NET enterprise pivot back to the dark side where I stayed for 20 years before jumping to embedded and rust blockchain stuff.

      • sik0fewl@piefed.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 day ago

        It was Sun that would not release new versions of Java and let it get stale. That changed when Oracle acquired Sun/Java.

      • devfuuu@lemmy.world
        link
        fedilink
        arrow-up
        5
        ·
        1 day ago

        One of the top reasons for Scala is the jvm, you can use every library out there that already exists. If you have the needs to integrate with something almost certainly some library exists for it on the jvm so you can just use it and get work done reasonably quickly.

        • theherk@lemmy.world
          link
          fedilink
          arrow-up
          4
          ·
          1 day ago

          I won’t argue that isn’t true. I’m just saying beam is a value prop that speaks to me. Jvm isn’t, but objectively is for sure.

          • GiorgioPerlasca@lemmy.ml
            link
            fedilink
            arrow-up
            2
            ·
            1 day ago

            Could you please explain your point of view more clearly? It seems you presume other people should not find the Scala language interesting because you do not.

            • theherk@lemmy.world
              link
              fedilink
              arrow-up
              3
              ·
              1 day ago

              Not at all. Tongue was firmly in cheek. I work with jvm professionally. I was specifically trying to clarify that I find the beam vm exciting but not jvm and was therefore just kidding around when I made the first comment. Not gate keeping at all. Like whatever you please.

  • thingsiplay@lemmy.ml
    link
    fedilink
    arrow-up
    12
    arrow-down
    2
    ·
    1 day ago

    On a high level, the problems aren’t about the programming language itself; it’s mostly all the surrounding stuff like upgrade issues and the tooling. And in these points, Rust excels in my opinion.

      • devfuuu@lemmy.world
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        1 day ago

        Which have been removed and there haven’t been any major issues with anyone in years.

        • GiorgioPerlasca@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          1 day ago

          They removed ScalaZ library from the Scala community build in one of the peak moments of the Scala programming language popularity. It was widely seen as a non-transparent, harmful action that damaged trust and seemed punitive. An outside evaluator called it a “red flag” and a “significant risk factor”.

          Jon Pretty lost his job, income, home, pension, and reputation overnight. He also resigned from his job, gave away his open-source projects, and became homeless. He won in court. The court order required signatories to withdraw their signatures and statements.

  • GiorgioPerlasca@lemmy.ml
    link
    fedilink
    arrow-up
    8
    arrow-down
    1
    ·
    edit-2
    1 day ago

    So many former Scala and Haskell developers moved to Rust.

    Rust is currently more famous and widely adopted than Scala ever was.

    • PokerChips@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      1 day ago

      Found no reason to subject myself to the jvm and corporate ethos once rust came out but Scala was pretty sweet for the hot second I was using it

      • GiorgioPerlasca@lemmy.ml
        link
        fedilink
        arrow-up
        4
        ·
        1 day ago

        Scala gives you an immense freedom and you can do things in many, many ways.

        The problem is that when you work in an enterprise project, you need people to write idiomatic code.

        In Scala, it is not clear what idiomatic code looks like. Imperative and object oriented? With higher order functions? Or fully functional with monads and monad transformers?