Java offers nothing for game developers, there're multiple game engines written in .NET or using .NET. Java only runs on Android, .NET on all mobiles. Native interop in Java is a joke.
Java offers nothing for game developers, there're multiple game engines written in .NET or using .NET. Java only runs on Android, .NET on all mobiles. Native interop in Java is a joke.
Khronos does have some official OpenGL specs for Java. There are none from them for .NET.
Java runs on iOS via Codename One and Gluon AOT compilers.
Native interop in Java was made hard on purpose, as Sun was pushing for WORA. Oracle is in the process of improving the situation with Project Valhala.
I love both stacks, truth is that .NET still has a bit to catch up outside Windows, while Java lost a bit of its mojo on desktops.
About native interop, I know Java did it on purpose, but as a developer I don’t care much about the rationale. I’ve heard about upcoming Valhala years ago (announced in 2014), still not ready.
Related to both of them, .NET core 2.1 already has SIMD support. Some parts of it is experimental, but it already works more or less OK, esp. on Intel/Amd.
Problem was that Sun never was too serious about their Java Gamming initiative.
Unity only adopted C# after moving out of the Mac into the PC, and it was stuck for ages in 3.5 as they didn't want to pay for the new licenses. Which meant it grew to a kind of C# dialect, which is being fixed now.
ManagedDX and XNA were Quixotic projects not well seen by WinDev. Which replaced XNA with DirectXTK when given the opportunity.
Which took a couple of years effort until Microsoft acknowledged the work done by the MonoGame guys.
Things take ages in Java because there are multiple vendors and everyone has to contribute to the process.
Intel has provided SIMD auto vectorization improvements. There are a couple of talks about it.
Not quite true; Unity has always used Mono. The very first Unity 1.0 version in 2005 was already using C#/Mono.
> Which meant it grew to a kind of C# dialect
Unity never had it's own "C# dialect".
Actually there are occasional questions on C# forums caused by people learning C# via Unity and then facing issues when using pure .NET.
Then there is the new HPC# for the new ECS and Job systems, which subsets C#.
As for Mono being already in 1.0, OS X only version, I am unsure about it, but the old blog was taken down. So I take your word for it.
The new HPC#/Burst indeed are subsets of C#, but that's a very recent development, and completely unrelated to "Unity had to make their own C# dialect to avoid Novell/Xamarin licensing issues".
> As for Mono being already in 1.0, OS X only version, I am unsure about it, but the old blog was taken down
I have worked at Unity since 2006. Yes Unity was Mac only at that point, but it still used Mono there.
I agree, that's quite a nice summary of the 2 ecosystems