编程语言之争由来已久,每场较量总有两种结果。没有使用场景就谈编程语言简直是耍流氓。所以,这次我们不再简单的谈C#和Java谁强谁弱,而是从多个角度来看市场为什么选择Java。虽然Java每个月都会发布几份“死亡”或“准备死亡”的报告,总体来说,Java在技术人群中的受欢迎程度一直居高不下。根据TIOBE编程语言指数,自2002年以来,Java一直位居前3位置,而且近年来几乎一直以压倒性的优势位居第一。相比C#,热度要弱很多,整体热度是Java的两倍多。为什么市场和大部分程序员反而选择JavaC#的?1.成功也是微软,失败也是微软。微软之于C#就像萧何之于韩信。众所周知,C#是微软发布的一种面向对象的高级编程语言,运行在吨.NETFramework,所以微软在支持C#方面也很努力。VisualStudio被公认为“全宇宙最好的IDE”,而C#背靠着这样一座大山,在开发效率上简直就是天赐良机。不过,众所周知,微软在成本方面从来都不是手下留情的。用C#开发的软件的应用成本远高于用Java开发的软件。对于企业来说,如果有一个可以降低成本的替代方案,无论是硬件成本还是软件成本,都非常乐意去申请。在这方面,Java似乎更胜一筹!2.跨平台错失良机,万事休止。跨平台是Java最大的优势之一。Java应用程序可以部署在Windows、Linux、Mac等JavaJRE支持的平台上。在操作系统上。而C#,因为微软原本想推广自己的操作系统,没有提供Windows以外的Runtime环境,限制了C#的发展。虽然现在微软已经意识到这个问题,开始积极适配其他平台,但是机会已经过去,Java在大型系统的开发中站稳了脚跟。3、开源是世界大势所趋。2016年,微软在GitHub“拥有最多开源贡献者的组织”中击败Facebook和谷歌,跃居第一,赢得了业界和开源社区的认可。在这一点上,人们似乎将微软与开源联系在一起。事实上,早年微软一直是开源的死敌。前微软CEO史蒂夫鲍尔默(SteveBallmer),他曾将“开源”称为微软知识产权的毒瘤。C#是在微软的指导思想下开发的,一开始就预料到会封源。但是,由于其开源的特性,Java在全球范围内迅速开花结果,产生了众多的开源框架和众多大型项目的成功案例。C#虽然也开源了,但是对于开源开发者的吸引力显然不够!4.钱太少,钱太少,钱太少,重要的事情说三遍“Java程序员的薪水比C#程序员高”“这是大家公认的行业现实,下图是小编得出的结论工作人员和朋友在北京采集了C#程序员和Java程序员的工资收入水平样本,从图中我们也可以明显感觉到Java程序员的收入高于C#,为什么会这样呢?如前所述,Java的开源框架很多,如何准确及时的选择一个框架成为一个问题,Java编程的门槛提高了,Java程序员的工资也提高了。至于C#,因为很多框架都是“认证产品”》,产品微软属性强,简单易用,开发速度快。对C#程序员的要求比较低,工资自然也低。此外,还有e一些历史原因。Java的历史比C#更深。选择Java开发的厂商自然也很多,市场需求也很大。“钱、人、发展”之间的关系似乎是一个死循环。钱越少,开发的程序员就越少。如果企业想用这种技术来开发应用,招人会比较困难,反之亦然。当然!五、无法回避的生态问题每次比较Java和C#的区别时,都会提到生态问题。不可否认,Java生态要比C#生态强大很多。Java有多种现成的库、框架和架构案例,在跨平台系统方面也有很多优势。数据管理软件开发公司Hazelcast营销和开发者关系副总裁MikoMatsumura表示,现在有相当多的开源项目是用Java编写的。对于从一开始就以开放为基础的Java,他们建立了大规模的使用社区,源代码自由,组成多样化。而C#在开源代码的社区支持方面还有很长的路要走。毕竟Java早在八年前就已经开源了!写在***很多地方,笔者都听过程序员抱怨“C#工资太低”、“我想转Java”……在技术和语言舒适度上,两者实际上具有可比性。任何一种语言的优点或者缺点一定是在实际的应用案例中才能体现出来,所以选择的时候还是要结合实际场景!
