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

Why didn't they re-write it in C#?



They already had a C++ port for the mobile version which is now becoming the main branch.


Probably the same reason: (lack of) performance.


C# is _much more performant_ than Java.


That's really hard to claim. Both are languages, and don't have inherent performance characteristics, C# can even be compiled to native for some targets.

There are some aspects of C# (such as value types) that can give an advantage of idiomatic C# over idiomatic Java, but for anything performance sensitive you aren't going to write idiomatic code anyway, you'll be writing pretty convoluted code with SoA instead of AoS and so on.

As for the respective VM:s, the CLR vs the JVM, the performance differences are pretty small. You wouldn't rewrite from Java to C# for performance.


My understanding is that C# made a number of good decisions surrounding structs, but that the JVM has had a huge amount of engineering work, and the HotSpot JIT & GC options are better performing.

Can you point to any compelling evidence that either language is faster?


Link please.


>_much more performant_

LOL. Benchmarks and citation please.


Except is isn't. Not even close. Maybe as fast as Java 6...


.Net is still not fully cross-platform.


Most likely because C and C++ are still the languages of professional game devs.

It always take a few generations to move languages in game development.

Assembly -> C & Pascal & Basic dialects -> C & C++ -> maybe C#, Rust, D....




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

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

Search: