I don't hate the idea of a VM. :) Most of the work I do runs on the CLR or JVM. I just think that in some ways it would be helpful to be easily be able to write a library in Go, for example, and use it in Rust or Swift. Or FreePascal, or anything else.
I suppose it wouldn't be insanely difficult to use the C interop facilities in each language plus a bit of C as glue code to share things between them. But it would be interesting to be able to say "here's my library, and here's the interface it exports. Import it and have fun!". Though I'm sure there are lots of fun details and edge cases I'm completely failing to consider.
I'm looking forward to the .NET Core to C++ compilation! There are plenty of interesting things happening in the .NET world right now.
Well, you could already AOT compile with NGEN, even though it isn't an optimizing compiler and requires dynamic linking.
Or Mono.
But I am with you, when Java and .NET came out, in both cases I thought it was a missing opportunity not having a full set AOT/JIT options similar to other languages.
You could get them, but NGEN required the framework to be present anyway and on Java's case the only good AOT compilers have always been commercial.
So I would remember Turbo Pascal, Delphi, Eiffel and many others with some envy.
I suppose it wouldn't be insanely difficult to use the C interop facilities in each language plus a bit of C as glue code to share things between them. But it would be interesting to be able to say "here's my library, and here's the interface it exports. Import it and have fun!". Though I'm sure there are lots of fun details and edge cases I'm completely failing to consider.
I'm looking forward to the .NET Core to C++ compilation! There are plenty of interesting things happening in the .NET world right now.