Hacker News new | past | comments | ask | show | jobs | submit login

> our programmers are Googlers ... They’re not capable of understanding a brilliant language

Sounds pretty damning, I'd say. This of course illustrates why Go is called "systems PHP".

> how much one was willing to pay for a commercial JDK.

I strongly prefer open-source tools at the base of my stack. Not as much because of the money but more because of the level of trust. Things should be inspectable.




That's what .NET is for (both C# and F#) - it has no private implementations (Unity does not count :P). Much more competent compiler too and smaller native binaries. Something you could confidently use in production.


.NET still doesn't have any real time GC, zero pauses GC, bare metal implementations, cloud JIT, a compiler development framework, has lost the mobile OS wars.

So I would slow down on the whole Java versus .NET flamewars, regarding who's more competent.

I use both ecosystems, because both have plus and minus, and complement themselves.


Then you have to deal with:

- .Net devs (they are almost as annoying as us Java/Kotlin devs)

- a language and ecosystem that consistently sacrifice backwards compatibility (contrary to us who have features sacrificed for backwards compatibility at every single step)

- you have to live without the JVM ecosystem (on this I have no self deprecating comment, C# is a better language, but the ecosystem, from libraries to build system to IDEs is something I always miss when I work in .Net.)


“Contrary to us”? I can’t agree with this attitude.

.NET maintains excellent backwards compatibility, C# and F# even more so. The changes either affect frameworks and libraries, which you can often update independently or are easily addressed. Most projects since .NET 5 only ever had to bump the target version and rebuild to move forward (notable exception: in .NET 6 ASP.NET Core introduced simplified API for application setup which required changes).

Neither JVM nor Go have the degree of low-level capabilities .NET provides first-class support for. And F# integrates in an easier way into existing C# solutions than Kotlin does into Java ones.

It is the GC-based Rust alternative many are looking for but are overlooking due to bias from the past.


The millions of us stuck on .NET Framework projects would disagree with that excelence in backwards compatibility.

Including Microsoft own products.


Yes, I'm talking about the platform, not the syntax.

It is my feeling that .Net developers with some years of experience get wide eyed when I tell them how I can use any old library that I need together with the newest JVM and my platform upgrades have mostly consisted of bumping numbers.


I don't know which developers you talked to. Honestly I should just flag this reply probably.

It's nothing surprising in .NET land. If you target netstandard2.0 the library will work on any version from .NET Framework 4.6.1 and upwards. For many newer features there are compat and polyfill pacakges too - that's one of the strengths to be able to use them even on the older targets.

All newer targets are forward compatible anyway. Wherever the notion of otherwise comes from it is likely a misunderstanding or trolling.

You can't make a serious argument when comparing baseline experience where .NET confidently places next to Cargo and Golang's user experience with the level of productivity it provides for setting up and managing projects and dependencies, building them and distributing them. JVM ecosystem still does not offer capability to properly and easily package the applications into a single binary except using very restrictive GraalVMs Native Image which does not have as wide ecosystem support as NativeAOT enjoys, and where it does not work .NET still gives you the ability to bundle managed assemblies into an executable together with runtime, apply trimming and get relatively compact result.


Contrary to Native AOT, Java tools have always found a way to deal with reflection, instead of asking the ecosystem to rewrite their libraries.

Yes there are AOT friendly frameworks, however JVM agents have also provided a way to gather the necessary data for a AOT compilation, since the Exelcisor JET days.


> I don't know which developers you talked to. Honestly I should just flag this reply probably.

I think you should read up on the guidelines before abusing the flagging system as a way to punish someone you disagree with.

Anyway, I am out of here.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: