市场决定技术还是技术决定市场

核心提示【IT168 评论】编程语言之争由来已久,每次争锋都逃不出两个结果,一个是双方争执不下,谁也不服谁,另一个就是“不以使用场景来谈论编程语言”都是耍流氓。所以,这一次我们不再单纯的谈论C#和Java谁强谁弱,而是从多个角度来看市场为什么选择了

【IT168评论】关于编程语言的争论由来已久。每次打架都有两种结果。一个是双方不能互相争论,谁也不肯服从谁。另一种是“不用场景讲编程语言”都是耍流氓。所以,这一次,我们不再简单的讨论C#和Java谁强谁弱,而是从多个角度来看市场为什么选择Java。

虽然Java每个月都会发布几篇“阵亡”或“准备阵亡”的报道,但总体来说,Java在技术人员中的受欢迎程度一直居高不下。根据TIOBE编程语言指数,Java自2002年以来一直处于前3的位置,近几年几乎一直以压倒性优势占据第一。与C#相比,热度弱很多,整体热度是Java的一倍以上。

为什么市场和大部分程序员都选择Java而不是C#?

1.成功是微软,失败是微软。

微软之于C#就像萧何之于韩信。

众所周知,C#是微软发布的面向对象的高级编程语言,运行在。NET框架,所以微软也在努力支持C#。Visual Studio是公认的“宇宙第一IDE”,C#背靠这样一座大山,从开发效率上来说简直如有神助。

然而,众所周知,微软在成本上从不手软。C#开发的软件的应用成本比Java开发的软件要高得多。对于企业来说,如果有一个可以降低成本的替代方案,无论是硬件成本还是软件成本在应用中都将是天赐之福。而且在这方面,Java似乎更胜一筹!

2.跨平台错过了机会,一切都关门了。

跨平台是Java最大的优势之一。Java应用程序可以部署在Windows、Linux、Mac和Java JRE支持的其他操作系统上。而C#却因为微软原本想推广自己的操作系统,不提供Windows之外的运行时环境,限制了C#的发展。现在微软也意识到了这个问题,正在积极的适配其他平台,但是无奈的时机已经过去,Java在大型系统的开发中站稳了脚跟。

开源是世界大势所趋。

2016年,微软在GitHub的“开源贡献者数量最多的组织”中击败脸书和谷歌,成为第一名,赢得了业界和开源社区的认可。在这一点上,人们似乎将微软与开源联系在一起。

事实上,微软几年来一直是开源的死敌。微软前首席执行官史蒂夫·鲍尔默(steve ballmer)曾将“开源”称为微软的知识产权毒瘤。# C在微软的指导思想下开发,一开始的闭源也是意料之中。但是Java因为其开源的特性而遍地开花,产生了很多开源框架,也有很多大型项目的成功案例。虽然C#后来也开源了,但对开源开发者的吸引力显然不够!

4.钱太少,钱太少,钱太少,重要的事情说三遍。

" Java程序员的工资比C#程序员高."这是公认的行业现实。下图是通过收集北京地区C#程序员和Java程序员的薪酬样本得出的结论。从图中我们也能明显感觉到Java程序员的收入比C#高。

为什么会这样?如前所述,Java中有许多开源框架。这个时候,如何准确及时的选择一个框架就成了一个难题。Java编程门槛提高,Java程序员工资也高。因为C#的很多框架都是“认证产品”,产品具有很强的微软属性,容易上手,开发速度快,对C#程序员的要求也比较低,所以工资自然低。此外,还有一些历史原因。Java比C#历史更深,所以选择Java开发的厂商自然很多,市场需求也很大。

“金钱、人和发展”之间的关系似乎是一个无限循环。钱越少,开发的程序员越少。如果一个企业想用这种技术开发应用,那就更难招人了,反之亦然!

5.不可避免的生态问题

每次我们对比Java和C#的区别,都会提到生态问题。不可否认,Java生态比C#生态强很多。Java有各种现成的库、框架、架构案例,在跨平台系统上也有很多优势。管理软件开发公司Hazelcast负责营销和开发者关系的副总裁Miko Matsumura曾经说过,有相当大规模的开源程序是用Java编写的。对于从一开始就建立在开放基础上的Java,他们建立了大规模的用户社区,源代码自由,构成多样。但是,在开源的种族支持上,C#还有很长的路要走。毕竟Java已经开源八年了!

写在最后

在很多地方,我都听到程序员抱怨“C#工资太低”“我要转行Java了”...就技术和语言舒适度而言,两者其实是不相上下的。任何语言的优劣都要在实际应用案例中体现出来,所以选择时还是要结合实际场景!

 
友情链接
鄂ICP备19019357号-22