Hacker News new | ask | show | jobs
by wffurr 2301 days ago
JVM, garbage collected, doesn't have zero overhead abstractions.

Might as well ask why Scala didn't take over from C++.

3 comments

> JVM, garbage collected, doesn't have zero overhead abstractions.

Is it fair to say that the significance of those points are these?

no JVM: easier deployment

not garbage collected: less latency

zero-overhead abstraction: smaller in memory

Yes, and more to the point said qualities make Rust suitable for use in kernel-type systems and embedded progamming, whereas any JVM or other GC and VM based language generally isn't.
I don't know why you'd be dismissive of that comparison. Scala is more like Rust than any other language he discusses.
I mean sure, Scala is a great language and has a lot more in common with Rust than most languages, but it's fundamentally designed for a different role than Rust. Rust is designed as a "systems language", whereas Scala's dependence on the JVM is a non-starter for such a role.

You could say instead that Rust is a Scala-inspired systems language. Not just Scala, obviously, but by functional programming concepts like algebraic data types and type inference. Rust isn't even really a functional language itself; it's still an imperative language.

Because performance is a P0 concern to a lot of people. Rust (and C++) has performance as a primary goal, Scala does not.
Did you even watch the video? The guy is comparing rust to things like Python which is a pretty silly comparison, relative to scala.
Everybody knows python, few people know Scala. Isn't that enough of a reason?
I don't use Rust. But I never considered Scala because of the JVM.