2020 年 12 月 19 日,2020 中国 . NET 开发者大会于苏州开幕。此次大会上,龙芯发布了龙芯 .NET 3。龙芯 .NET 3 基于 .NET Core 3.1,支持该版本具备的所有主要功能,包括 GC、AOT 等。CoreCLR、CoreFX、ASP.NET Core 等库的测试通过情况与 x64/arm64 相当。同时支持龙芯 CPU 家族,包括龙芯 3A4000/3A3000/3A2000 单路多路、龙芯 2K1000 等。支持多款操作系统,包括 Loongnix、Debian、UOS、麒麟等。后续,龙芯将对龙芯 . NET 进行长期维护,并与社区同步。


会上,微软全球开发平台事业部资深副总裁 Julia Liuson 女士特别提到:“中国的 .NET 社区也积极为 .NET 开源项目做出了很多贡献,其中特别提一下,对龙芯平台的移植是一个非常大的工程,谢谢龙芯团队。”

 

龙芯团队之所以移植 .Net,主要是因为 C#是主流的编程语言,平台就是微软的 .NET,类似 java 需要的 Jvm 虚拟机。这次龙芯移植了 .Net,可以解决很多软件生态问题。

 

虽然有人呼吁政务领域不要支持 .NET,但考虑到当下的实际情况,这种呼吁是不切合实际的,因为 .Net 的生态圈太广。

 

首先,.Net 在国内外是非常重要的开发平台,在国内的外资企业,大部分也都是 .Net 技术。

 

其次,.Net 非常适合企业级应用开发,最近十几年来,金融、政府、企业的办公自动化,绝大部分是 .Net 技术。

 

再次,.Net 很年轻,学习了 java 的诸多优势,规避了很多缺点,入门门槛非常低,在企业普遍使用 Windows 的前提下,它的优势非常明显。现在 .Net 和 java 的跨平台是完全对等的,基本上 java 能跑的地方 net 也能跑。由于 .Net 是后起之秀,优化了很多,所以在大多数场景下 .Net 性能更好,门槛更低,也更好用。国内主要是受到阿里影响,java 比例才特别高。现在国人软件行业有一种风气,那就是跟风大公司,开口闭口就是阿里如何如何。

 

最后,.Net 技术最大的软肋就是不开源,并且 Windows 是付费系统,不过,微软在 2016 年发布了 .NET Core,把 .Net 技术开源并推向 windows/linux/macos 等各种平台。我们今天的大部分 .Net 开发的系统都是基于最新的开源版 .NET Core。

 

可以说,龙芯完成 .NET 的移植工作对于生态建设有很大的促进作用。此前,一些友商就攻击龙芯平台不能用 .NET。从今往后,龙芯的这个软肋将不复存在。希望龙芯和支持龙芯的国产操作系统厂商能再接再厉。

 

这里,铁流特意回复下部分“杠精”。

 

一直以来,铁流非常强调独立自主,另起炉灶,但一些网友会“杠精附体”,无限制上纲上线,要求编程语言不能用国外的,要求造硅片的沙子必须是国产的等等。

 

铁流的观点是,对于国外的知识和技术,如果技术先进,而且是免费的,可以随意用的,不会影响后续自主研发,那么,就可以用。

 

正如阿拉伯数字和“+”、“-”、“*”、“/”符号书写简便,数学计算比中文“一二三四”、“加减乘除”更加便捷,而且还不需要向国外支付专利费,中国人基于这些阿拉伯数字和数学符合发展起来的知识和技术,也不会受制于人,不需要向外商支付专利费,那么就可以放心大胆的用。

 

如果用了一些国外技术标准是要向国外公司购买技术授权的,每生产一片芯片还要支付版税,当西方政客搞制裁的时候,这家外国公司还会中断一切技术合作,那么,这种外国技术就应该扬弃,而不能够倚重。最典型的例子就是国内部分 CPU 公司依赖 ARM 授权。

 

就当下的实际情况而言,国内软件是应用软件强,基础软件弱,因而选择借力开源社区的力量就成为必然选择,无论是 Linux,还是 .NET Core、java,都是可以借力的对象。龙芯在硬件上实现 CPU 源代码自己写,在软件上选择拥抱开源,从开源中来,到开源中去,是既能保障硬件的自主性,又能借助开源社区力量建设软件生态的良策。

 

诚然,龙芯的生态建设压力非常大,甚至因为软件问题而拖累了龙芯的整体性能和体验。

 

前路漫漫,任重道远。持之以恒,绳锯木断,水滴石穿。