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

Benchmarks generally show C# outperforming Java, but not to a degree that most people would worry about. Performance-sensitive applications are still going to go for something native.

One of C#'s biggest assets is Anders Hejlsberg of Turbo Pascal fame. He's been in charge of C# since its inception. He's done a very good job of keeping the language clean and concise, and generally ahead of Java when it comes to adopting features like generics and functional programming.




I would put it differently: C# has a higher performance ceiling due to it having access to lower level controls (mostly value types), but for idiomatic code, there really is no such difference (and if there is any, I would say it goes towards Java). Also, for programs having very dynamic allocation patterns, Java’s GCs are the state-of-the-art and are basically impossible to beat.


I thought Anders was full time on Typescript these days? Certainly his fingerprints are all over c# from being in charge for a long time though.


He still acts as the lead architect on C#, in addition to working as the core developer on TypeScript.


Nope, Mads Torgersen is lead architect on c# nowadays, Anders is 100% on Typescript's typechecker.


Sounds like someone's Wikipedia page needs to be updated then


> Performance-sensitive applications are still going to go for something native.

What’s up with Java in HFT stuff then? I’ve never understood this: from what I understand in order for it to work, you have to intentionally avoid doing many allocations, and that seems like you’ll be throwing massive amounts of the ecosystem (Javas biggest strength) away.


They should not allocate on the hot path/after the initial set up, which is much more manageable. Old objects are not a problem for generational GCs.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: