3 ms·
.NET Framework itself wasn't that bad apart from all the tying to weird Windows functions(good when writing enterprise stuff, horrible for everything else by ty
by whizzter 4y ago
.NET Framework itself wasn't that bad apart from all the tying to weird Windows functions(good when writing enterprise stuff, horrible for everything else by tying to Windows) and reliance on IIS for web (with it's engineering focused on multi-tenant hosting being a PITA for devs doing the actual web dev).
Imho the main improvements lately for gamedevs are greater portability, Span<T>/Memory<T>'s (access and manage memory more freely), stack-allocs (enabled by the former) and vector math intrinsics (Add to it that C# code was never as reliant on GC perfection as Java by being more pragmatic and with support for proper generics saving a ton of memory allocs).
- KronisLV 4y ago> .NET Framework itself wasn't that bad apart from all the tying to weird Windows functions(good when writing enterprise stuff, horrible for everything else by tying to Windows) and reliance on IIS for web (with it's engineering focused on multi-tenant hosting being a PITA for devs doing the actual web dev). Personally, I feel like .NET Core and embracing cross-platform was exactly what the ecosystem needed. Albeit not quite 1:1 with the older versions of the framework (the Mono project tried that approach, with mixed results), things like Kestrel instead of IIS didn't feel like a high cost to pay. Plus, I think that the C# language itself is reasonably nice. It's a bit curious how C# seems to be more popular in gamedev than Java, both of the languages and runtimes not being that different from one another. For whatever reason projects like jMonkeyEngine or LWJGL don't get the same popularity as Unity or even Godot.
- orthoxerox 4y ago> It's a bit curious how C# seems to be more popular in gamedev than Java, both of the languages and runtimes not being that different from one another I think we can thank Miguel de Icaza for that. Mono/Xamarin allowed Unity to run on smartphones and turned it into a textbook disruptive innovation.
- jayd16 4y agoC# has structs (and pointers if you really need them) and now Span<T>. C# is just a better fit than Java.
- KronisLV 4y ago> C# is just a better fit than Java. I'm not sure I follow: having access to lower level functionality is good, of course, but I don't think that's quite the deciding factor for the majority of folks, who want to knock together a game. Number crunching will be relevant for a limited subset of game projects out there, otherwise Lua wouldn't have seen widespread usage, or maybe something like GDScript wouldn't have been created in the first place. In regards to Span<T>, wasn't it added relatively recently? That seems to be the case, from what I can tell: https://learn.microsoft.com/en-us/dotnet/api/system.span-1?view=net-7.0 https://learn.microsoft.com/en-us/dotnet/api/system.span-1?v... Applies to Product Versions .NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7 .NET Standard 2.1 That seems to be confirmed by this: https://devblogs.microsoft.com/dotnet/announcing-net-standard-2-1/ https://devblogs.microsoft.com/dotnet/announcing-net-standar... Span<T>. In .NET Core 2.1 we’ve added Span<T> which is an array-like type that allows representing managed and unmanaged memory in a uniform way and supports slicing without copying. And yet, C# and .NET (or Mono) were already used by popular engines like Unity all the way back in 2005, so surely there's more at play here! Maybe what held Java back were social reasons, like concerns around licensing, or how easy it would be to integrate JDK or package it back in the day and so on.
- jayd16 4y agoYou should try to write allocation free code in Java and C# and see what feels easier. I don't think its a factor of what was tried, its a factor of what survived and C# engines are feasible while Java engines aren't.
- raydiatian 4y agoThis. Something must have happened internally at Microsoft because .NET core & WSL all popped out around the same time and it made Microsoft look like a vaguely reasonable gang again.
- oaiey 4y agoAzure. When you google long enough you will find interviews with the key people behind ASP.NET Core and .NET Core about their proposal meeting with Guthrie (the head of Azure) and how surprised how easy that was to get that approved. Same applies for how PowerShell happened. WSL, I have no idea.