Hacker News new | ask | show | jobs
by betaby 147 days ago
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.
9 comments

I don't know what it looks like on the ground now, but Scala was the defacto language of data infrastructure across the post-Twitter world of SV late stage/growth startups. In large part, this was because these companies were populated by former members of the Twitter data team so it was familiar, but also because there was so much open source tooling at that point. ML teams largely wrote/write Python, product teams in JS/whatever backend language, but data teams -- outside of Google and the pre-Twitter firms -- usually wrote Scala for Spark, Scalding etc in the 2012-2022ish era.

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.

Did the Scala 3 changeover blunt its momentum, you think? Or just Python won out in a sort of worse-is-better way?
Mostly the latter. Scala 3 is almost completely irrelevant to the big data space so far. Databricks took six years before upgrading their proprietary Spark runtime to Scala 2.13. Flink dropped the Scala API before even moving to 2.13. I don't know if Scio will seriously attempt the move to Scala 3. All of them suffer from Twitter libraries being abandoned, which isn't insurmountable, but an annoyance still.

And I don't think it matters anymore. I predict that the JVM will eventually be out of the equation. We're already seeing query engines being replaced by proprietary or open source equivalents in C++ or Rust. Large scale distribution is less of a selling point with modern cloud computing. Do you really need 100 executors when you can get a bare metal instance with 192, 256 or 384 cores?

People want a dataframe API in Python because that's what the the ML/DS/AI crowd knows. Queries and processing will be done in C++ or Rust, with little or even zero need for a distributed runtime. The JVM and Scala solve a problem that simply won't exist anymore.

Yeah, this is certainly the correct take. There's an alternate timeline where the Scala community focused during the peak on making it a better language for numeric computing/ML rather than the Nth category theoretic framework, but here we are. At a job almost a decade ago, we made some progress on an open source dataframes (and unfortunately proprietary data visualization) library for Scala, but we didn't get far enough before the company closed and the project died [1].

Still my favorite language I had the privilege to work with professionally for over a decade. However, in this post-JVM world, I'm actually excited to see a lot more OCaml discussion on here lately. The Jane Street work on OxCaml is terrific after a long period of stagnation with the language. I'm using it for most of my projects these days.

[1] https://github.com/tixxit/framian

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.
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.

You're being downvoted but you aren't necessarily wrong. Javascript is probably one of the most approachable functional-like languages without being dogmatically functional.
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

Because the idea of classes is baked into JVM. So when writing inline code, with groovy, scala, kotlin, whatever else, the compiler has to basically insert fake classes into the jvm.

This may seem trivial, but because its fundamentally "hacky" its not something that is ever going to be as easy to work with and expand.

This is nonsense. And, not that there's anything wrong with classes, but compilers no longer need to 'insert fake classes' for anonymous functions since Java 8.
Pretty sure everything in the jvm has to be tied to a class structure by definition.
There's also scala.js and Scala Native, even if the JVM is the primary platform.
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.
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.
Sadly, I’m old enough to remember that Ada was the result of a US initiative to standardize a capable language for embedded development.

A good friend worked on the well regarded Telesoft compiler…

Kotlin is from St Petersburg, it's even named after an island near it.
St. Petersburg is in Europe.

I thought what was worth mentioning was being European or not, rather than being part of an European legal entity or not.

PHP is also from Europe. Not sexy perhaps, but popular enough to mention.
Former EU, there's Gleam.
How is Zig an EU language?
Andrew started the language while he was in Germany.
True to both. My brain not braining. Was thinking Europe-based/driven. Python started in CWI but PSF is USA-based.
Maybe they've applied for the grant 10 years ago when Scala was all rage
For one, it is a programming language born in Europe, and mostly developed in Europe via EPFL.

For our technology freedom we need to focus on programming languages where PR aren't coming from contributors living in adversary nations.

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.

Chisel is very neat but "the number one language for building hardware"? VHDL and SV are the only things in this space that actually matter. Chisel is still a blip for now.
"...these days." Don't quote me out of context.
I genuinely don’t understand what you think “these days” means or how what I said was incompatible with it.
Ok, let's say you were going to start a brand new project today. What tech would you use?
Hmm, I think we're talking about different kinds of "number one".

The ancestor comment called Scala "niche" and criticized the characterization of it as "widely used". So given that context, I was coming at this from a perspective of popularity; Chisel is orders of magnitude nicher than even Scala itself and orders of magnitude less widely used. Most of industry is still choosing VHDL or Verilog for most greenfield hardware projects.

I think you mean in terms of "best way to do it". Chisel can at least lay claim to that crown, sure, though I think you could say the same about Scala too.

(I might say Clash for hardware and Haskell for software, not that that does me any good.)

Probably because it's an amazing language for people who know what they're doing