前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 生态碎片化 和 .NET生态的一致性

Java 生态碎片化 和 .NET生态的一致性

作者头像
张善友
发布2020-10-19 17:30:33
7090
发布2020-10-19 17:30:33
举报

.NET Core是以MIT协议开源, Java是GPL协议开源。Java 8 SDK升级Oracle要收费这件事对于很多小公司是有着重大的影响的,Java生态越发碎片化,有众多的OpenJDK发行版,腾讯云和阿里都有OpenJDK发行版,龙芯也有MIPS版本的OpenJDK,华为也有毕昇 JDK ,国外的OpenJDK版本就更多了,就连微软也发行了一个OpenJDK版本。每个厂家都有自己的小算盘,比如华为的毕昇 JDK 一方面展示了华为对 JDK 生态的思考重点 —— 基于 ARM 架构进行优化,使之成为 openEuler 基础软件软件生态的一部分 。这种碎片化的生态,最终都会反哺 OpenJDK,从促进 Java 生态更加健康繁荣的发展。OpenJDK 的各大厂商收敛到一起比较困难。

相比之下 dotnet的生态的一致性越来越好,微软2014年决定开源dotnet的时候,就预先为dotnet生态的发展的一致性设计好了上层建筑-.NET基金会,将.NET采用MIT/Apache 2协议进行开源,相关的知识产权和专利归属.NET基金会。 微软在2016年把Xamarin收购了,相关技术同样开源了贡献给.NET基金会,2014年以来已经有众多知名公司加入.NET基金会, 仅在平台项目中,.NET平台上有87%贡献者其实不在Microsoft工作。 2019年 AWS也加入了支持.NET 基金会,.NET开源生态系统中越来越多的行业领导者,这些成员包括Microsoft,Google,Red Hat,JetBrains,Unity,三星,Pivotal,Insight和Telerik,AWS等公司。

.NET 的ARM架构的支持工作是由三星研发支持完成的,三星和华为一样同属于ARM阵营, 三星在.NET基金会的框架下对.NET 的ARM架构的优化工作都能够在同一个代码库里完成,而不是像OpenJDK那样的碎片化。 .NET能够保证充分的收敛,这对于.NET生态的每一个人来说都是好事情。从ARM 架构的优化来说非常能够体现出.NET的社区发展非常健康,.NET Core 2.x支持ARM32, 在.NET Core 3.1支持了ARM64, 在最新的.NET 5里对ARM的性能方面又有极大的提升,具体可以参见.NET团队的博客文章 .NET 5中的ARM64性能。龙芯积极投入研发力量支持 .NET ,龙芯支持了计算机上运行应用程序的动态虚拟机Java、Javascript、.NET三大虚拟机,龙芯还正在开发一套指令翻译系统,可以将其他指令集翻译成Loongarch指令兼容X86,ARM,MIPS。龙芯对.NET 的支持的研发模式也是采用社区模式,他们和.NET团队有很好的协作,他们目前正在移植.NET Core 3.1版本,将来他们也会进入同一个代码库dotnet/runtime, 整个.NET生态的一致性非常好。

Java生态碎片化和.NET生态的一致性形成鲜明对比,随着时间的车轮滚滚向前,具有统一架构的.NET优势会越发明显,我们的未来是光明的,从最近的编程语言排行榜的趋势上可以看出来,Java在不断的向下走,C#/VB.NET等.NET生态语言在向上走,附图TIOBE编程语言排行榜趋势图。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-10-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档