Hacker News new | ask | show | jobs
by pjmlp 2214 days ago
Satire or not, one thing I do fully agree.

It was a big mistake not embracing AOT from day one, C++ wouldn't have kept its king position in MS ecosystem if the original .NET had been like .NET Native since the begging and kept Delphi like features for low level coding (some of each are have been added since C# 7.x).

JIT support could still be an additional option as well, just like on languages like Eiffel.

Instead we got NGEN (with basic optimizations), .NET Native (out of Midori, but which seems on the death march with Project Reunion), MDIL/Bartok (out of Singularity, used only in Windows 8.x), and all remaining efforts are from third parties (Xamarin pre-acquisition), Unity, CosmOS.

And no one really knows if CoreRT will ever be integrated into the main product.

1 comments

I've been doing C# for over 10 years, and so far the AOT trend just gets in my way. I would prefer .NET Core on all platforms to just function similarly to .NET Framework on Windows: shared runtime(s) with major releases for breaking changes, and point releases for in place improvements.

Case in point: when Windows RT jailbreak came out, my .NET Framework AnyCPU apps just worked there. Now when I package, I very often have to list the target architectures in advance.

When I hear Java announcing JIT in Java and catching up with C# on syntax sugar, I feel that C# + .NET might start to lag behind in innovation.

.NET has had lot of innovation, AOT was there since the beginning via NGEN, although there was never a big investment in its optimizing capabilities.

Then there was Axum, Cω, Phoenix Compiler (LLVM like in .NET), Singularity, Midori, Rosylin, MDIL, .NET Native.

GraalVM goes back to MaximeVM and JikesRVM, so JIT in Java is also quite old.

What all these projects need is the money and political willigness to keep driving them forward, and here is probably the main issue with some .NET research projects, because since the begging Windows Development (which kind of owns the C and C++ story) teams aren't that willing into having too much .NET on their turf.