News for hackers. Stuff that matters.
Re:From First Principles: Why Scala? by lmm on Thursday February 11, 2021 @09:31PM (#26110154)
> - Scala adds an Option type, whereas Kotlin adds nullability checking for existing object types.

Kotlin's approach amounts to doubling down on null IMO - it actually makes it harder to interoperate with newer JVM code that favours options over nulls (e.g. streams) from Kotlin than from Scala. And since "platform types" are silently treated as non-null, you still get null exceptions at runtime.

> - Scala defines its own set of collection classes, whereas Kotlin has zero-overhead wrappers over the JVM collection types.

Which means Kotlin has no actually immutable collections; a supposedly immutable collection can be silently mutated by another thread in parallel, which can be pretty surprising.

There are definitely things that Kotlin does well, but IME "smoother interop" is mostly a myth.

Re:From First Principles: Why Scala? by still_grokking on Saturday February 13, 2021 @05:47AM (#26122801)
My experience is that most Kotlin features boil down to myths created by good marketing. When you look at them in detail they're full of gotchas and unexpected behavior (especially when interacting) due to everything being some ad-hoc special case only created to simulate some Scala feature.

Tones of ad-hoc features isn't good language design imho, even the features are desirable in isolation. That's the same issue as the biggest problem with PHP or C++.

On the other hand side Scala may seem "complicated" on the surface but it's actually just a bunch of quite simple basic principles, and some syntax sugar on top.

Scala is like math: It's build form simple first principles. Just it offers the means to combine those and create this way almost arbitrary complex abstractions.