More generally, the .NET languages, like JVM languages (and all managed runtime languages, really), are not, imo, a great choice for numerical computing. While you don't need as much control for numerical computing as you do for systems programming, you still need more than any of the managed runtime platforms provide. Not to mention issues like 32-bit pointer limits, which, afaik, both the JVM and CLR are saddled with.
--
--