Hacker News new | ask | show | jobs
by dottrap 4400 days ago
This is addressed to. Not all languages compile cleanly to the CLR. Running in the VM has serious tradeoffs as well. Garbage collection is a serious problem for soft/hard real time apps. Understanding performance is difficult too because the VM may be doing stupid things behind your back and you can't directly control things like CPU cache locality with this many layers.

Porting the VM is also difficult. It is a really complicated piece of machinery, and if you are in truly cross platform environments, getting the VM up on new systems is a massive engineering challenge in by itself. Often these other environments are CPU and memory constrained too which isn't great for the .NET VM.

1 comments

I'm not sure these are actually problems with the Microsoft stack, though. Most mainstream languages run in VMs these days — JavaScript, Ruby, Python, Lua, PHP, all JVM languages. Off the top of my head, the ones that don't are pretty much the three C's and Go.