Hacker News new | ask | show | jobs
by eggsnbacon1 2225 days ago
It really is wonderful. Used it at work years ago and still miss it dearly.

The only thing I don't miss is the lack of community. Many things you can get for free in Java/Python cost money in Microsoft land. Even common stuff like decent excel and PDF support. Its getting better but was still the case last time I looked.

What C# needs is Java interop. The VM and bytecode structures are similar enough for it to work. There was a guy maintaining a library for this until recently :(

Official CLR Java interop would kill Java. Within a few years every new project would be in C#.

The only other places I'm aware Java has a big advantage is GC and monitoring. C#'s GC is old school, has long pause times. Makes C# a no-go for many uses. Java also has better monitoring and profiling support.

3 comments

Funny you should say that because I wrote an application that has both Excel and PDF output and both libraries were free on NuGet.
there's free libraries, I used a bunch of them. I guess I'm just asking you to trust me that's its not nearly as good as in Java. C# is a better language, there's no question. But I jumped off the MS bandwagon years ago because there just wasn't the community support that Java has, for better (or probably) worse
It's been a lot better for a long time.

There -are- still a couple sore points, PDF comes to mind. But there are at least a couple different good projects out there for working with Excel at this point.

Bigger problem is a larger portion of C# developers and their managers are frightened of shifting away from the Microsoft blessed stack. That's what creates this chicken-egg situation where good projects don't have enough community behind them because there aren't enough people using them.

GC in C# isn't perfect but works fairly well if you understand it. There's plenty of ways to write minimal or zero-allocation code and it's gotten a lot easier with the newer Span types.

Monitoring though... yeah The first time I learned about Blackbox and the like I got a bit jealous :)

I wouldn't expect that to change any time soon. The Microsoft/Sun lawsuit still stings inside the company and has legal impact decades later (https://www.cnet.com/news/sun-microsoft-settle-java-suit/). It's the reason why, for instance, you can't download Windows 98 or Visual Studio 6 on MSDN/Visual Studio subscriptions. Microsoft is now friendlier to open source than it has been, but I would be shocked if they ever got friendlier with Java. (Disclaimer: I haven't worked at MS in several years)
And I'm sure that the Google/Oracle lawsuit hasn't exactly improved things, either. Not to mention the recent licensing changes. Java is such a can of worms legally that it's surprising that anyone sensible would want to touch it with a ten-foot pole.
.NET Java interop is literally Xamarin on Android. Java interop worked for 15 years+, it is just not commonly known and was a community project.