←back to thread

Scala 3 slowed us down?

(kmaliszewski9.github.io)
261 points kmaliszewski | 3 comments | | HN request time: 0s | source
Show context
derriz ◴[] No.46183103[source]
I was involved in a Scala point version migration (2.x) migration a few years ago. I remember it being painful. Although I recall most of the pain was around having lots of dependencies and waiting for libraries to become available.

At the time Scala was on upswing because it had Spark as its killer app. It would have been a good time for the Scala maintainers to switch modes - from using Scala as a testbed for interesting programming-language theories and extensions to providing a usable platform as a general commercially usable programming language.

It missed the boat I feel. The window has passed (Spark moved to Python and Kotlin took over as the "modern" JVM language) and Scala is back to being an academic curiosity. But maybe the language curators never saw expanding mainstream usage as a goal.

replies(4): >>46183190 #>>46184785 #>>46185410 #>>46198527 #
hylaride ◴[] No.46183190[source]
Outside of Android work, has Kotlin really taken over? My understanding is that Java added a lot of functional programming and that took a lot of wind out of Scala's sails (though Scala's poor tooling certainly never helped anything).
replies(6): >>46183338 #>>46183368 #>>46183737 #>>46184354 #>>46184632 #>>46187198 #
esafak ◴[] No.46183338[source]
Java's new features are always going to be on paper. The ecosystem, with all its legacy code, is always going to be a decade behind. And if you are starting a new project, why would you pick Java over Kotlin?
replies(5): >>46183409 #>>46183759 #>>46183966 #>>46184802 #>>46193538 #
pjmlp ◴[] No.46184802{3}[source]
Because the Java Virtual Machine is designed for Java, and that is what all vendors care about.

Kotlin is Google's C#, with Android being Google's .NET, after Google being sued by coming up with Google's J++, Android Java dialect.

Since Google wasn't able to come up with a replacement themselves, Fuchsia/Dart lost the internal politics, they adopted the language of the JetBrains, thanks to internal JetBrains advocates.

replies(1): >>46186815 #
bhawks ◴[] No.46186815{4}[source]
| Android being Google's .NET, after Google being sued by coming up with Google's J++, Android Java dialect.

The Oracle v Google was specifically over copyright infringement concerning the Java APIs used in Android's original implementation (Dalvik/ART), not about creating a "J++" dialect.

Android never ran a JVM on mobile because it cannot be optimized for resource constrained devices a solution like DalvikVM was necessary. If you want to level critiques about creating fragmented dialects of Java I would recommend starting with J2ME. The only nice thing I can say about J2ME is at least it died.

The Android ecosystem was far too mature for Fuchsia/Dart to be successful without a very compelling interop story that was never produced.

As a technology Kotlin met Android's platform and community needs. Advocacy and politicking played a minimal, if any, role.

replies(1): >>46188994 #
1. pjmlp ◴[] No.46188994{5}[source]
Lies sold by Google.

Nokia and Sony Ericsson were using J2ME perfectly fine, as did Blackberry. I should know ad ex-Nokian.

Kotlin met nothing, it was pushed by Kotlin heads working on Android Studio, telling lies comparing Kotlin to Java 7, instead of Java was already offering at the time.

To this day they never do Kotlin vs Java samples, where modern Java is used, rather the version that bests fits their purpose to sell why Kotlin.

Fragmentation, what a joke, the fragmentation got so bad in Android, that JetPack libraries, previously Android X, exist to work around the fragmentation and lack of OEM updates.

Gosling said it better, regarding Google's "good" intentions

https://www.youtube.com/watch?v=ZYw3X4RZv6Y&feature=youtu.be...

replies(1): >>46193571 #
2. bhawks ◴[] No.46193571[source]
J2ME was an alphabet soup of incompatible implementations stuck somewhere between Java 1.2 and 1.3. Getting code to run across device manufacturers was a huge engineering burden. In fact doing something like JetPack for that world would be technically impossible.

If Sun was offering some technically relevant foundation for the smartphone era, it would have been able to actually have some adoption. They were starting from a leading position (obviously - see blackberry or Nokia), and in the space of 3 to 4 years they completely disappeared.

replies(1): >>46194939 #
3. re-thc ◴[] No.46194939[source]
> J2ME was an alphabet soup of incompatible implementations

So Google?

(alphabet)