Post permalink

Awesome. There's less and less reason to have a CLR or VM if you have a compiler that can take in various languages and target various architectures just as well - and better. There's a session on auto vectorization that was just live today ... I only caught a part of it and plan to check it out this weekend.

Someone correct me if I'm wrong here, but if you have deterministic finalization that works with move semantics as you have with C++ 11, which allows you to avoid falling back to raw pointers and having to manage memory outside of destructors etc..., then performant C++ and C# become quite similar. The compiler can make the C# behave as it would if it were managed code (GC wise ... ignoring CAS or other CLR services), but better since there's true deterministic finalization. Since older C++ compilers didn't have move semantics for reference types, then trying to get C# code to compile down to native would result in copy semantics and horrible performance.