如题:有人问到了这个问题
其实看待这种问题,应该从本身来看。微软是个技术型和商业型混合驱动的公司,它以软件起家Windows和Office套件赚的盆满钵满,当然现在远不止两个了。但它的基本盘还在。
Rust作为一个安全的Native编程语言,它的存在是为了搞定非托管语言比如C/C++的指针漂移,内存泄漏,边界超出等等非常规且隐藏极深的不安全操作而诞生的。Windows内核的本身就是C/C++,以及部分汇编代码组合而成的。多年以来windows漏洞的BUG困扰着微软,70%以上的BUG都是指针指向不正确区域而造成的。而Rust非常适合避免这些问题。微软用Rust取代一些内核的工作,也是在情理之中了。
再说说.Net本身,.Net是一个托管平台,它的运行需要挂个虚拟机。这种本身类型的C#语言是不太适合做系统级的软件的。可能有人又谈到了AOT Native代码,AOT作为一个起步较久且比较成熟的技术,应该在目前为止也没有达到应用内核层级的档次。
所以个人认为,微软不用.Net重写Windows11内核,而用了Rust。最大的原因应该是Rust这门语言适合系统级的软件研发,而C#明显不适合这种非常底层的操作。