Hacker News new | ask | show | jobs
by tudelo 2692 days ago
As someone who has recently tried Rust and uses Java in his day job, why do you think that Rust is the obvious successor? Wouldn't C# be a better fit for people looking to leave Java?
3 comments

I agree that C# would be a better fit. In terms of this ruling, I don't think the language really matters. Re-implementing any API that is copyrighted will be a problem no matter what the language.

In terms of re-implementing the language, I believe that C# is just as free as Rust in this regard; it can be done without fear of a lawsuit.

https://arstechnica.com/information-technology/2009/07/micro...

Java was also unique in that Sun was only charging licensing fees for mobile implementations, providing motivation for Google to build their own implementation of the language. With mobile devices being as high powered as they are, I don't think that model makes sense anymore.

A. It was a joke.

B. What about Scala? Would you say Scala is a "good fit" for people leaving Java because it's also built on top of the JVM? Or would it be a "bad fit" because the idioms and functional-nature of Scala are vastly different than Java? Or how about Kotlin?

I'm not thinking about "successor" in terms of "Java-specific" design patterns. I'm thinking successor in terms of - can Rust, with concurrency as a first-class-citizen and C-like perf with a safer programming model, replace Java for many of the "higher-level" applications that would've typically been written in Java?

Ya. Rust is for C++ refuges.

A Java programmer would be so confused by Rust.

I really hate this view of the world. I'm a developer, not a "C++ developer" or a "Java developer". I write code in C++, Java, C#, Python, Matlab, Rust, and other languages.

My current project has me working primarily in a mix of C++ and Java, and I would love nothing more than to rewrite the whole thing in Rust. Sadly, I did my job too well the first time around, and it's hard to justify a full rewrite of a codebase that already works.

Precisely. In this world view, A Java programmer would also be confused with Scala, which is a JVM language.

(Or I guess you could write Scala in a non-functional, Java-y way, but that would defeat the purpose of using Scala...).