Now I still want operator overloading, because I favor enabling instead of disabling approaches, and I want, for example, new numeric types to have natural syntax that blends in with built-ins, or an equality operator that works consistently. I’ll even settle for += append to strings and collections.
But even Scala standard libraries take operator use to wild extremes. Apparently it’s not enough to use + to append collections, you must use ++. Except Vec you can add with +. There’s ++= and ++=:, and /: and :: and ::: and ?^ and ?^.
Spark Scala interface introduces =!= for inequality comparison. There’s |@| from Cons library. Don’t get me started on Akka. SBT introduces <++=
Surprisingly you can’t override ==, so Spark implements ===. And specs2 testing library implements ====.
> if you are not bound to the JVM I really don't understand why you would go with Scala today.
Scala's metaprogramming abilities coupled to a powerful type system are still unmatched. Among mainstream languages, only TypeScript gets somewhat close. For your typical service oriented architecture, libraries such as Tapir or ZIO HTTP are pretty nice. I haven't found anything as pleasant in other languages.
That said if an LLM can write 95% of your code today, this point is a bit moot, sadly.
[0] https://en.wikipedia.org/wiki/Chisel_(programming_language)
https://github.com/chipsalliance/chisel-template/blob/main/b...
I’ve only used Chisel for a few projects but I’ve never used anything but Chisel in those codebases. Simulation, verification, and all the painful stuff in FPGA/ASIC development depends on non-Scala tooling and all of the inputs (parametrization) are just read in from JSON files produced by scripts in other languages.
It would be nice to be up to date but the hardware NRE is so damn high that working around any limitations in Scala support is a rounding error. Chisel’s outputs are sent out for $X00,000 fab production runs so no one gives a damn whether it’s Scala 2 or 3 as long as it ships a working IC. The last time I used Chisel I was working on a mixed signal design where the Synopsys Fusion Compiler (maybe Custom compiler?) licenses alone ran into the hundreds of thousands per year (iirc it was per seat, so we must have spent over a million per year on Synopsys alone).
It's a great language, I've been working with it for 10 years now. Full stack Scala with Scala.js on the frontend is so very nice. My experience is mostly in fintech & healthcare startups where the language helped us get correctness, refactorability, clarity, and high velocity at the same time without blowing up the team size.
Initially I learned Scala on the job, but I've been writing open source Scala for years since then. It's a cool language to learn and explore ideas in, since it has lots of elegantly integrated features (especially FP + OOP).
Scala may not be the #1 most popular language, and that's fine. Popular stuff surely gets the benefits of funding and attention, and sometimes lacking such support is really annoying, like a few years ago when Scala 3 was first released, the IDEs took a looong time to catch up. But I still choose Scala despite those occasional annoyances, even though I also have years of experience in JS / TS and other languages. It's just a much better tool for my needs.
I worked in Scala for most of my career and it was never hard to get a job on a growth stage data team or, indeed, in finance/data-intensive industries. I'm still shocked at how the language/community managed to throw away the position they had achieved. At first I was equally shocked to see the Saudi Sovereign Wealth fund investing in the language, but then realized it was just 300k from the EU and everything made sense.
It's still my favorite language for getting things done so I wouldn't be upset with a comeback for the language, but I certainly don't expect it at this point.
Spark is Scala, Twitter was (is?) Scala https://sysgears.com/articles/how-and-why-twitter-uses-scala...
For our technology freedom we need to focus on programming languages where PR aren't coming from contributors living in adversary nations.
second link - 404
third link - achieved project on github
fourth link - educational project
Perhaps it's a very know and useful project, yet indeed seems very niche to me.
(In case you Germans still don't get it -- that was a joke, but feel free to downvote :) )
Sad to see code coverage tooling called out as something they’re spending money on
Happy to see scala get sponsorship
https://bootstrappable.org/projects/java.html https://bootstrappable.org/projects/java-tools.html https://bootstrappable.org/projects/jvm-languages.html
All on the basis of her...being Albanian.
Talk about public money mismanagement.