Live data from Hacker News

The Origins of Scala (2009)

artima.com

61–70 of 97 posts

Re: The Origins of Scala (2009)

#61

Earlier quoted context omitted.

1. There was never a push. Functional ecosystems are simply the ones that survived. You can't blame communities that keep the language alive for doing what they want, and not what you want. Without Typelevel and ZIO where would be Scala 3's adoption today? 2. Android has never been even remotely relevant to the space where Scala exists. And no, this was not a missed opportunity for the language. People who think Scal…

Given that Scala-Android efforts predate Kotlin, Scala could have had a shot at Android if EPFL resources were allocated to it, like to Scala.js. Kotlin is not simple at all, it has a lot of keywords for strange and very specific features and corner cases, it's hard to remember them all. Moreover, the Intellij Kotlin plugin is somehow slower than Scala's despite being a 1st party language and not having implicits, ho…

- The resources simply didn't exist, Typesafe couldn't even become profitable doing what Scala does best.

- Scala was a bad fit, especially on low-end and slow Android devices.

- Google doesn't like languages like Scala. They use it for Chisel but it's not a language allowed for backend services, while Kotlin is.

Re: The Origins of Scala (2009)

#62
post #47

Earlier quoted context omitted.

1. There was never a push. Functional ecosystems are simply the ones that survived. You can't blame communities that keep the language alive for doing what they want, and not what you want. Without Typelevel and ZIO where would be Scala 3's adoption today? 2. Android has never been even remotely relevant to the space where Scala exists. And no, this was not a missed opportunity for the language. People who think Scal…

Any language pushed by Android overload has a shot at Android. Kotlin would be irrelevant on the JVM space otherwise, only something being pushed by Jet Brains that some folks play with outside the company. There would not exist a Kotlin Foundation which is basically Jet Brains in bed with Google. I keep waiting for the announcement of Google's acquisition from Jet Brains.

Right and if you know the first thing about Scala, Kotlin, Google and JetBrains, it should be clear Scala on Android was simply never going to happen, even if Typesafe somehow managed to find extra millions in funding and could allocate dozens of people behind it.

Re: The Origins of Scala (2009)

#63
post #47

Earlier quoted context omitted.

Any language pushed by Android overload has a shot at Android. Kotlin would be irrelevant on the JVM space otherwise, only something being pushed by Jet Brains that some folks play with outside the company. There would not exist a Kotlin Foundation which is basically Jet Brains in bed with Google. I keep waiting for the announcement of Google's acquisition from Jet Brains.

Right and if you know the first thing about Scala, Kotlin, Google and JetBrains, it should be clear Scala on Android was simply never going to happen, even if Typesafe somehow managed to find extra millions in funding and could allocate dozens of people behind it.

It certainly would, had Google decided that would happen, and support the ongoing existing efforts from the community.

If you know anything about Google politics, you would know Kotlin only took off because of a couple of folks on the Android Tools team doing free advocacy for JetBrains.

In an alternative reality, if those same persons had been Scala heads, Jetpack Compose would be a Scala DSL today.

Re: The Origins of Scala (2009)

#64
post #11

It's interesting that Odersky started with Modula-2 (implementing a Z80 compiler), did a PhD with Wirth, but there discovered that functional programming offered a level of theoretical rigor and mathematical elegance he missed in Wirth's imperative languages. Wirth was generally critical of the complexity and abstraction often associated with functional languages. Rather than rejecting Wirth's pragmatism, he carried…

It is, of course, well known – or at the very least frequently and enthusiastically repeated – that a suitably drunk Odersky devised Scala whilst watching a Reese’s Peanut Butter Cup ad[0].

[0] http://www.nerdware.org/doc/abriefhistory.html

Re: The Origins of Scala (2009)

#65

Earlier quoted context omitted.

What really obliterated Scala’s momentum was PySpark overtaking Scala Spark coming from Python’s foothold in Data Science, columnar data warehouses carving out a big chunk of the batch processing pie as well, and then the Akka licensing change. The Enterprise ecosystem quickly withered away, and now only type level programming diehards remain.

I think realistically we're looking at a lot of causes (which is not surprising; it's rarely a singular thing). Scala 3's momentum may have already been negative but how Scala 3 landed represented a nail in the coffin for a lot of individuals, teams, and organizations.

Scala 3 really landed at a bad time as the hype behind Spark, Akka, Play had already weaned off. Typesafe was struggling financially, and didn't back Scala 3 then (that went to VirtusLab).

Typelevel and ZIO really put a lot of effort to release many libraries on day 1 despite the hurdles with the 3.0 release, because these communities are alive and healthy. Yet Odersky is on a small crusade against monadic effect systems, which discouraged a lot of good people. On top of that there are neverending feuds and US politics...

Re: The Origins of Scala (2009)

#66
post #63

Earlier quoted context omitted.

Right and if you know the first thing about Scala, Kotlin, Google and JetBrains, it should be clear Scala on Android was simply never going to happen, even if Typesafe somehow managed to find extra millions in funding and could allocate dozens of people behind it.

It certainly would, had Google decided that would happen, and support the ongoing existing efforts from the community. If you know anything about Google politics, you would know Kotlin only took off because of a couple of folks on the Android Tools team doing free advocacy for JetBrains. In an alternative reality, if those same persons had been Scala heads, Jetpack Compose would be a Scala DSL today.

Scala was a bad fit for the Android runtime and the SDK. On a $200 Android phone with 2015 specs the performance aspect was definitely not a trivial argument against Scala; Kotlin has perfect interop with very little overhead, no conversions between collections (often slow and immutable in Scala), a nullability story that doesn't box everything in Option, ...

And most Googlers do not like clever languages with bad tooling, especially the ones working to productize languages and toolchains for Blaze and other internal tools.

Re: The Origins of Scala (2009)

#67
post #63

Earlier quoted context omitted.

It certainly would, had Google decided that would happen, and support the ongoing existing efforts from the community. If you know anything about Google politics, you would know Kotlin only took off because of a couple of folks on the Android Tools team doing free advocacy for JetBrains. In an alternative reality, if those same persons had been Scala heads, Jetpack Compose would be a Scala DSL today.

Scala was a bad fit for the Android runtime and the SDK. On a $200 Android phone with 2015 specs the performance aspect was definitely not a trivial argument against Scala; Kotlin has perfect interop with very little overhead, no conversions between collections (often slow and immutable in Scala), a nullability story that doesn't box everything in Option, ... And most Googlers do not like clever languages with bad to…

All irrelevant when politics are involved.

You will never get me to say anything positive about the Kotlin advocates on Android team.

It isn't only Scala, it is using Java 7 samples to sell Kotlin, the original language for Android, still used for the large majority of Android tooling, where your argument fails flat.

They have begrudgingly being updating Java support, up to Java 17, when Java 25 is the latest LTS, because that great Kotlin interop with Java is useless when Android loses access to the Java ecosystem that keeps moving forward regardless of Android.

Some of them even don't have any ideas how out of date their Kotlin "improvements" over Java are out of date.

Re: The Origins of Scala (2009)

#68
post #52
post #51

Earlier quoted context omitted.

One could argue that Modula-2 was an attempt to fix Pascal for the industry, after all the dialects that sprung out of it, which he wasn't keen on, with the influence from Mesa, after his sabbatical at Xerox. Also that the way it failed to be embraced by the industry, too busy with UNIX, C and C++, also had an effect on his point of view going forward.

> One could argue that Modula-2 was an attempt to fix Pascal for the industry There is no evidence that Wirth e.g. ever directly or specifically rebutted Kernighan's famous paper, nor that Modula-2 was a response to it. Modula-2 was a child of the ivory tower (PARC), not industry. Wirth was rather an "escapist" who built his own worlds rather than fixing the real one. He saw Parnas' concepts "in action" during his sa…

Why should he?

That paper was only relevant among UNIX people, and largely ignored by anyone doing 8 and 16 bit home computing with Pascal and Modula-2.

It is no accident that to this day, it is the UNIX accolades that keep bringing it back every couple of months, most of whom never used a single Pascal compiler in their lifes, or aware that Modula-2 was already around.

Modula-2 relevance as systems language is quite easy to find out in some of his essays, and the companies selling compilers for Acorn, Amiga and PC.

Re: The Origins of Scala (2009)

#69
post #28

Earlier quoted context omitted.

When is this from? I would be shocked if in 2025 most Spark was being written in Scala

August 2024 -- so, dated.. mea culpa https://moldstud.com/articles/p-what-programming-languages-a...

I think the info is even more outdated than that. The article is from August 2024 but it cites "a recent survey by Databricks" that from what I can tell isn't linked to, so who knows what data they're referring to.

I was deep into the big data ecosystem in the 2010s. Those numbers feel like they're from 2017 or so. Scala has been on a slide every since.

Re: The Origins of Scala (2009)

#70
post #67

Earlier quoted context omitted.

Scala was a bad fit for the Android runtime and the SDK. On a $200 Android phone with 2015 specs the performance aspect was definitely not a trivial argument against Scala; Kotlin has perfect interop with very little overhead, no conversions between collections (often slow and immutable in Scala), a nullability story that doesn't box everything in Option, ... And most Googlers do not like clever languages with bad to…

All irrelevant when politics are involved. You will never get me to say anything positive about the Kotlin advocates on Android team. It isn't only Scala, it is using Java 7 samples to sell Kotlin, the original language for Android, still used for the large majority of Android tooling, where your argument fails flat. They have begrudgingly being updating Java support, up to Java 17, when Java 25 is the latest LTS, be…

I'm not defending JetBrains or Google's decisions. But I don't see why anyone should try to rewrite history.

Scala had a decade head start. Many people at Google are aware of Scala, some being former LAMP students or staff. Google doesn't simply add a language to their small list of sanctioned toolchains.

Kotlin was specifically designed to win the politics argument, using technical merits: full interop, gradual adoption, low overhead, ability to target outdated Java bytecode efficiently (Kotlin used to inline lambdas for Java 6 bytecode for instance, while Scala boxed everything before invokedynamic). It doesn't matter whether one approach is objectively right or wrong, Kotlin fitted the bill and Scala did not. More importantly, Kotlin fitted the bill on Google's server side too!

Then of course JetBrains was tasked to replace the IDE with Android Studio, they could put dozens people backing Kotlin as a first-class Android language, until Google adopted it officially.

But even if Typesafe had somehow stumbled upon $100M in funding to do the same thing, it doesn't change the fact that Scala never had a chance.

Post reply on HN