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 1.0,把.Net技术开源并推向windows/linux/macos等各种平台。我们今天的大部分.Net开发的系统都是基于最新的开源版.NET Core。
可以说,龙芯完成.NET的移植工作对于生态建设有很大的促进作用。此前,一些友商就攻击龙芯平台不能用.NET。从今往后,龙芯的这个软肋将不复存在。希望龙芯和支持龙芯的国产操作系统厂商能再接再厉。
这里,铁流特意回复下部分“杠精”。
一直以来,铁流非常强调独立自主,另起炉灶,但一些网友会“杠精附体”,无限制上纲上线,要求编程语言不能用国外的,要求造硅片的沙子必须是国产的等等。
铁流的观点是,对于国外的知识和技术,如果技术先进,而且是免费的,可以随意用的,不会影响后续自主研发,那么,就可以用。
正如阿拉伯数字和“+”、“-”、“*”、“/”符号书写简便,数学计算比中文“一二三四”、“加减乘除”更加便捷,而且还不需要向国外支付专利费,中国人基于这些阿拉伯数字和数学符合发展起来的知识和技术,也不会受制于人,不需要向外商支付专利费,那么就可以放心大胆的用。
如果用了一些国外技术标准是要向国外公司购买技术授权的,每生产一片芯片还要支付版税,当西方政客搞制裁的时候,这家外国公司还会中断一切技术合作,那么,这种外国技术就应该扬弃,而不能够倚重。最典型的例子就是国内部分CPU公司依赖ARM授权。
就当下的实际情况而言,国内软件是应用软件强,基础软件弱,因而选择借力开源社区的力量就成为必然选择,无论是Linux,还是.NET Core、java,都是可以借力的对象。龙芯在硬件上实现CPU源代码自己写,在软件上选择拥抱开源,从开源中来,到开源中去,是既能保障硬件的自主性,又能借助开源社区力量建设软件生态的良策。
诚然,龙芯的生态建设压力非常大,甚至因为软件问题而拖累了龙芯的整体性能和体验。
前路漫漫,任重道远。持之以恒,绳锯木断,水滴石穿。