为什么要从 C# 转为 Java:浅谈 .NET 与 Java 生态
本文是 从 C# 到 Java 系列的第一篇文章。整个系列的目录请点击此处浏览。
C#
是 .NET 平台上最重要的一门语言,Java
是世界上使用最广的语言之一。这两门语言有着太多的恩怨情仇,也有很多相似之处。C#
在最初创立的时候,或多或少借鉴了 Java
语言的优秀特性,但后期发展又和 Java
走上了不同的道路。
那么,为什么你要从一门语言,转换为另一门很相似的语言呢?本文主要谈谈,为什么在某些情况下,你可能需要,或者愿意从基于 .NET 的 C#
转移到基于 JVM 的 Java
语言平台。
统一开发平台,重用现有资产
- 某些类型的开发不得不用
Java
开发,或者大多数人都在用Java
开发。如 Android 开发,Android 的开发技术栈全部构建于 JVM 之上;所以整个团队的开发语言只能迁就于上述原因来选用 Java; - 很多团队或公司中,有大量现存的基于 Java 的资产(代码、模块、应用),统一开发语言和平台可以降低团队磨合、学习成本,重用现有代码资产。而统一语言时显然无法选择 C#,因为 Java 适用面更广(即很少有
Java
可做而C#
无法做的领域或平台)。
减少技术风险,方便技术学习
- Java 的历史更长,开发人员更多,社区也更大,如果在开发上遇到问题,有很多成熟的解决方案可以参考(俗称的Google之);
- 开发特定领域的程序时,Java 可借鉴的代码和框架更多,避免遇到技术死角;大多数领域的开发已经在 Java 中有成功的案例,避免技术上潜在的风险。
- 某些第三方产品或接口,官方优先支持 Java 或只支持 Java,使用其他平台需要额外开发或进行封装,导致开发效率和性能的问题。
减少开支
- 靠谱的 Java 程序员更好招聘,可以减少用于招聘的人力资源成本;原因有二。一是 C# 确实比 Java 对开发者更贴心,所以导致了学习成本更低,造成了 C# 小白丧失了继续学习的进取心,客观上降低了 C# 开发者的平均水平;二是从绝对数量上来说,C# 开发者也少于 Java 开发者(如下图)。
- 基于 .NET 平台的开发工具和相关产品普遍需要付费;基于 Java 的开发工具和相关产品免费的更多。
下图为 2016年11月,在全球范围内 C# 与 Java 语言的流行度对比,Java 排名第一,C# 排第四。
基于 Java 开发将拥抱更广泛的生态
- 如上图所示,Java 长期在开发语言排行榜中流行程度排名第一,所以拥有更好的生态,即有成千上万的成熟类库、大量的技术资料、很多的现成代码;
- Java 更偏向于基于
Linux/Unix
平台的开发,而 .NET 在早期太多地依赖于 Windows,后期 .NET 虽然开源且跨平台,但已为时略晚。在互联网相关行业,Linux 及其生态圈比 Windows 繁荣得多。 - Java 早已不是一个开发语言,而是一整个生态圈。
- Java 在语法、平台技术上、开发效率上并非最好的,但却是够用的,且有出色的平衡性。虽然 Java 在哪个方面几乎都不是最强的,但却都说得过去。
说实话,我个人更偏爱 .NET 技术,其炫酷、性能优异、免费且跨平台、开发效率高,但是,基于以上原因,有时 Java 是更务实的选择。
如果你准备好了基于 Java,而不是 C# 开启你的下一段代码,就让我们一起来学习吧!
本文是 从 C# 到 Java 系列的第一篇文章。整个系列的目录请点击此处浏览。
题外话:我帮你整理了包括 AI 写作、绘画、视频(自媒体制作)零门槛 AI 课程 + 国内可直接顺畅使用的软件。想让自己快速用上 AI 工具来降本增效,辅助工作和生活?限时报名。
© 转载需附带本文链接,依据 CC BY-NC-SA 4.0 发布。