Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> That's a shame, since in many ways it is a better designed framework, with a superior flagship language (C#) compared to the Java platform. Their framework and language designers are truly world-class, probably the best in the world.

While I'm happy about the progress and I hope that .NET Core succeeds, I've heard this claim repeatedly and I must say that it doesn't stand up to scrutiny.

The biggest problem of .NET's community and Microsoft's is that it fixated on Java the language, missing out on the improvements that happened in Java the runtime, not to mention the ecosystem.

Just to give a small example, the "tiered compilation" coming in .NET Core has been in Java since version 1.4, so we're talking about 2002. That was the Java version coming with the Hotspot VM, inspired by Self and Strongtalk. And it has only gotten better since then.

Java the language is terrible, we can all agree, however you can swap it with Scala, Kotlin, Clojure, Haskell (Eta), Groovy, JRuby and others, all of which benefit from running on the JVM, with the JVM itself turning out to be a much better host for other languages. Which is a little ironic given .NET's initial marketing.

Also another problem is that the community is waiting to be spoon-fed by Microsoft. In Java's ecosystem on the other hand the endorsement of Oracle is almost irrelevant. Outside the OpenJDK JVM itself most interesting projects are not built by Oracle. And even in the JVM area you've got interesting alternatives like Azul's Zing, featuring an awesome "pauseless GC".

Hopefully with the opening of .NET we'll see some actual competition to the JVM, but to those of us that have been in JVM's ecosystem for some time it's actually pretty clear why .NET lost thus far.




It's not like when you switch to Scala you get all the advantages of java without having to deal with a crappy language. You're also giving up a large amount of tooling.


A lot of the tooling is reusable. Profilers, debuggers, build tools, libraries all work.

And IntelliJ IDEA has been doing a good job with its support for multiple languages, having great support for Scala, Kotlin, Groovy and JRuby at least. There's also great support available for Clojure built by a third party.

Yes, I think you get most of the advantages of Java. There's a learning curve involved for Java developers of course, but it's very incremental because the underlying platform is the same and this matters.


> you can swap it with Scala, Kotlin, Clojure, Haskell (Eta), Groovy, JRuby and others

Only Scala and Kotlin are feasible alternatives to Java for building applications on the JVM or Android. The others in that list are limited by dynamic typing to scripting only or didn't see much adoption for building large systems, e.g. Apache Groovy for glue code and build scripts.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: