Ben Matthews

  • New here on lemmy, will add more info later …
  • Also on mdon: @benjhm@scicomm.xyz
  • Try my interactive climate / futures model: SWIM
  • 0 Posts
  • 2 Comments
Joined 2 years ago
cake
Cake day: September 15th, 2023

help-circle
  • 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.