I learned recently that one of the killer apps for Scala seems to be in hardware design. Chisel [0] is the core technology of the best open source RISC-V chips. Chipyard [1] is designing leading edge type OOE and AI chips and all of the code is written in Scala. Personally, I can't wait for some of these designs to start being mass produced and put in laptops and phones.
So, as a justification for support of scala, the thing that seems lacking to me is that Chisel seems to still be centered around scala 2? E.g. their recommended template for getting started still uses scala 2 ... so without support to motivate them to use scala 3, it's not obvious that Chisel benefits much from current work on the scala language? I have not fully understood the Chisel project but I see they have a "compiler plugin" which suggests to me that moving fully off scala 2 requires a meaningful redesign.
Chisel absolutely isn’t the type of software that benefits from upgrading because it’s largely standalone. They could be the last project still stuck on 2.x a decade from now and it wouldn’t make much of a difference to its users.
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.
I’m not super plugged into scala but I work with Spark quite a bit and my observation has been the whole scala 2.13 -> 3 transition is a huge mess for just about everyone who touches it. I don’t have enough hands-on context to understand why it’s so painful but it seems to be similar or worse to the python 2.7 -> 3 transition in terms of sticking friction.
It is a mess. I've spent some time trying to convert some academic oss projects and some removed features really force large redesigns.
I think rather than funding the stuff on this announcement, I wish they would fund a team of experts to work on migration of a prioritized list of projects. This would both provide example patterns of migrating substantial projects and unblock projects who have been saying "we would like to try migrating but library X we use still hasn't"
Well, a more optimistic take here is that if future development on the Scala language was funded explicitly by/for people who are current using Scala 2, that means that the developers would more clearly understand their requirements in terms of making an easier transition for users moving from Scala 2 -> 3
Scala isn't as hot as it used to be. I think the rough Scala 2->3 transition, coupled with improvements in the base Java language, emergence of Kotlin + Android support, and popularity of Python in data science and data pipelines (lets just do everything in one language became popular) kind of made Scala not quite as popular as it could have been. Plus the long compile times are a pain. However it seems to have a really high coolness ratio for a language. The few jobs I do see in Scala are very cool looking. Very few boring looking jobs.
You got it. Scala had a shot being an early mover in the JVM functional programming space, but they really shot themselves in the foot with their version transition problems and tooling issues you allude to. Java is probably "good enough" for most shops now, and if you are not bound to the JVM I really don't understand why you would go with Scala today.
Scala's decline started before Scala 3, which brought its share of breakage (sometimes for dubious reasons, like the new syntax) but also fixed many warts. Tooling has improved a lot lately, but it's too late.
> 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.
for spark
Scala is too complicated. Most scala code bases I have worked on have no enforced structure, the language allows for all sorts of unconventional programming paradigms
What would you categorise as a "cool looking job"?
Why would the governments invest money on such a niche language?
"Scala is widely used to build and operate essential systems across multiple industries." - very bold statement.
It wouldn't have to be used in very many places to justify a 377k investment. A few big European banks alone would be worth it. Their website says "we invest globally in the open software components that underpin Germany's and Europe's competitiveness and ability to innovate". The fact that Scala is used at a university could also be classified as innovation. This is a minor amount of money if you're going to compare it with a STEM or medical research grant.
Scala may have fallen out of favor but was quite popular few years ago. And perhaps still is the most popular EU-designed language (developed by EPFL).
Python. Python is the most popular language designed in EU. EPFL is not even in EU
> EPFL is not even in EU
For people who don't get this, EPFL is the Swiss Federal Technical Institue in Lausanne. Switzerland isn't part of the EU or EEA but has instead integrated itself with the EU very closely via a mindboggling number of bilateral agreements with the EU members and the Schengen agreement which allows for free, borderless movement. This has the effect of making it seem very much like they are part of the EU without actually being as such.
Perhaps it's a very know and useful project, yet indeed seems very niche to me.
Is it niche? Scala is arguably the single most successful functional language. It interoperates with the whole JVM ecosystem. It's probably the #3 JVM language after Java and Kotlin.
Scala was niche (but of course, you need to define niche first) and its market share has shrunk further in the last decade.
> Scala is arguably the single most successful functional language.
That would be Javascript.
Anything that runs on JVM should not be invested in.
Why? I bet you never even wrote custom VM for your lang/architecture.
There are like dozen of implementations for JVM alone: sun, Oracle, gnu, IBM etc etc
There's also scala.js and Scala Native, even if the JVM is the primary platform.
Probably because it's an amazing language for people who know what they're doing
Is it really accurate to call this an “investment”? The details are not known but it looks like a grant or donation by a charity rather than an investment?
I think that any time to expect to get some benefit from it, other than a nice feeling for helping out, it should not be called a donation, at least not a charity donation.
Happy to see investment in sbt and the stdlib
Sad to see code coverage tooling called out as something they’re spending money on
Happy to see scala get sponsorship
The lead maintainer of sbt does it as a labor of love. I am very curious if he actually will be receiving any money.
That's the problem with state investments in software. One can rightfully complain about misallocation of capital by private investors, but state investments are a whole new level.
The Albanian government invested 10M in Mira Murati's startup.
I learned recently that one of the killer apps for Scala seems to be in hardware design. Chisel [0] is the core technology of the best open source RISC-V chips. Chipyard [1] is designing leading edge type OOE and AI chips and all of the code is written in Scala. Personally, I can't wait for some of these designs to start being mass produced and put in laptops and phones.
[0] https://en.wikipedia.org/wiki/Chisel_(programming_language)
[1] https://github.com/ucb-bar/chipyard
So, as a justification for support of scala, the thing that seems lacking to me is that Chisel seems to still be centered around scala 2? E.g. their recommended template for getting started still uses scala 2 ... so without support to motivate them to use scala 3, it's not obvious that Chisel benefits much from current work on the scala language? I have not fully understood the Chisel project but I see they have a "compiler plugin" which suggests to me that moving fully off scala 2 requires a meaningful redesign.
https://github.com/chipsalliance/chisel-template/blob/main/b...
Chisel absolutely isn’t the type of software that benefits from upgrading because it’s largely standalone. They could be the last project still stuck on 2.x a decade from now and it wouldn’t make much of a difference to its users.
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.
I’m not super plugged into scala but I work with Spark quite a bit and my observation has been the whole scala 2.13 -> 3 transition is a huge mess for just about everyone who touches it. I don’t have enough hands-on context to understand why it’s so painful but it seems to be similar or worse to the python 2.7 -> 3 transition in terms of sticking friction.
It is a mess. I've spent some time trying to convert some academic oss projects and some removed features really force large redesigns. I think rather than funding the stuff on this announcement, I wish they would fund a team of experts to work on migration of a prioritized list of projects. This would both provide example patterns of migrating substantial projects and unblock projects who have been saying "we would like to try migrating but library X we use still hasn't"
Well, a more optimistic take here is that if future development on the Scala language was funded explicitly by/for people who are current using Scala 2, that means that the developers would more clearly understand their requirements in terms of making an easier transition for users moving from Scala 2 -> 3
Scala isn't as hot as it used to be. I think the rough Scala 2->3 transition, coupled with improvements in the base Java language, emergence of Kotlin + Android support, and popularity of Python in data science and data pipelines (lets just do everything in one language became popular) kind of made Scala not quite as popular as it could have been. Plus the long compile times are a pain. However it seems to have a really high coolness ratio for a language. The few jobs I do see in Scala are very cool looking. Very few boring looking jobs.
You got it. Scala had a shot being an early mover in the JVM functional programming space, but they really shot themselves in the foot with their version transition problems and tooling issues you allude to. Java is probably "good enough" for most shops now, and if you are not bound to the JVM I really don't understand why you would go with Scala today.
Scala's decline started before Scala 3, which brought its share of breakage (sometimes for dubious reasons, like the new syntax) but also fixed many warts. Tooling has improved a lot lately, but it's too late.
> 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.
for spark
Scala is too complicated. Most scala code bases I have worked on have no enforced structure, the language allows for all sorts of unconventional programming paradigms
What would you categorise as a "cool looking job"?
Why would the governments invest money on such a niche language? "Scala is widely used to build and operate essential systems across multiple industries." - very bold statement.
It wouldn't have to be used in very many places to justify a 377k investment. A few big European banks alone would be worth it. Their website says "we invest globally in the open software components that underpin Germany's and Europe's competitiveness and ability to innovate". The fact that Scala is used at a university could also be classified as innovation. This is a minor amount of money if you're going to compare it with a STEM or medical research grant.
Scala may have fallen out of favor but was quite popular few years ago. And perhaps still is the most popular EU-designed language (developed by EPFL).
Python. Python is the most popular language designed in EU. EPFL is not even in EU
> EPFL is not even in EU
For people who don't get this, EPFL is the Swiss Federal Technical Institue in Lausanne. Switzerland isn't part of the EU or EEA but has instead integrated itself with the EU very closely via a mindboggling number of bilateral agreements with the EU members and the Schengen agreement which allows for free, borderless movement. This has the effect of making it seem very much like they are part of the EU without actually being as such.
https://en.wikipedia.org/wiki/Switzerland%E2%80%93European_U...
Others worth mentioning are Kotlin, Ada, Pascal, Haskell, Zig, Erlang, Elixir, Prolog, Ocaml.
True to both. My brain not braining. Was thinking Europe-based/driven. Python started in CWI but PSF is USA-based.
As a European project the foundation is likely pursuing funding from EU sources using the fact that it isn’t US tech as a selling point.
Maybe they've applied for the grant 10 years ago when Scala was all rage
I made another comment about it. But the answer is Scala is the number one language for building hardware these days via Chisel.
https://www.chisel-lang.org/community
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.
Is it niche? Scala is arguably the single most successful functional language. It interoperates with the whole JVM ecosystem. It's probably the #3 JVM language after Java and Kotlin.
Spark is Scala, Twitter was (is?) Scala https://sysgears.com/articles/how-and-why-twitter-uses-scala...
Scala was niche (but of course, you need to define niche first) and its market share has shrunk further in the last decade.
> Scala is arguably the single most successful functional language.
That would be Javascript.
Anything that runs on JVM should not be invested in.
Why? I bet you never even wrote custom VM for your lang/architecture.
There are like dozen of implementations for JVM alone: sun, Oracle, gnu, IBM etc etc
There's also scala.js and Scala Native, even if the JVM is the primary platform.
Probably because it's an amazing language for people who know what they're doing
Is it really accurate to call this an “investment”? The details are not known but it looks like a grant or donation by a charity rather than an investment?
I think that any time to expect to get some benefit from it, other than a nice feeling for helping out, it should not be called a donation, at least not a charity donation.
Happy to see investment in sbt and the stdlib
Sad to see code coverage tooling called out as something they’re spending money on
Happy to see scala get sponsorship
The lead maintainer of sbt does it as a labor of love. I am very curious if he actually will be receiving any money.
He won't: https://bsky.app/profile/eed3si9n.com/post/3mdgbjkg4ck23
That's the problem with state investments in software. One can rightfully complain about misallocation of capital by private investors, but state investments are a whole new level.
The Albanian government invested 10M in Mira Murati's startup.
All on the basis of her...being Albanian.
Talk about public money mismanagement.
What a waste of my taxes.