【Java学习】Java与C#.NET的PK

前言:    

    

       这是小编了解Java的第一个着手点,为什么呢?喜欢了然于心的感觉,在宏观上一举戳中要害是我喜欢的方式。同时这也是一个过渡,这是从一个领域跨到另一个领域的过程,这篇博客就是体现我如何跨过去的!希望在学习方法上对大家能有些帮助。

      经历过软考,或者用过C#Java的人都能感觉到这两种语言其实在语法上是非常相似的。那么到JavaC#.NET哪个前景更好?市场更好呢?现在市场上主流的是Java?还是C#.NET?这也是我一直以来比较好奇的事情,这个疑问一直存留在我脑海中,一直没有启封是因为时候未到,现在时机成熟,那么我提出自己的问题:JavaC#.NET哪个发展前景好?这两大语言哪个在市场上更受欢迎?或者是在各自的市场都很受欢迎?受欢迎的原因?不受欢迎的原因?20175Java语言在全球编程语言排行榜上排名第一,是什么让它有这个资本荣居第一?

 

正文:


   JavaC#.NET的语言比拼


       一、Java平台好,C#语言好         


            1  C#是能与Java媲美的语言,但其平台抑制了这门语言的发展,Java是跨平台的,而C#只能在微软这一个平台上应用,这一点Java完胜

            2就语言特新而言,JavaC#吊着打、甩几条大街,都是不为过了,只要不是从上世纪穿越过来,没人会说Java漂亮的。这也是C#最大的优势所在, 也是它逆袭Java的重要资本。

 

       二、微软的C#设计者与Java设计者侧重点不同             


            1、微软的c#设计者更注重一线开发人员的感受,为方便开发提高效率,他们愿意大费周章改善语言本身各方特性,不断加入语法糖,从泛型,nullable,隐式类型到lamada再到dynamic,awaitasyc等等都可看到其一直在围绕代码整洁,减少bug等实际的开发过程中问题来进行的改进,同时越来越智能的IDE也说明了这点。

            2、而java设计者则不同,他们的关注点在于java应用系统本身,更好的降低耦合,保持OOP是其始终坚持的。同时也应该不难发现,社区对java应用架构师提出的各类尖锐问题反馈总是较为及时,而对java应用开发者则相对冷淡些。正因此,使用java开发的大型应用系统相比同等代码量c#开发出的系统至少在系统结构上要比c#更加美观,易维护,代码变腐烂的速度也更慢。加上java及linux均为开源产品,许多大型公司又在基于成本的考虑上最终还是选择使用java进行应用系统开发。


       三、比拼小结           


           所以,虽语法非常相似,但关注方向并不相同的两种语言至少目前来说区分优劣为时尚早了些,但就趋势来说,c#的发展势头要更为强劲,不去关注两种语言本身,就平台而言,微软对c#的掌控力要绝对优于java社区对java平台的掌控力,c#设计者在改造c#语言时不需要做出太多妥协,他们考虑最多的只是5.0如何向4.5兼容,4.5如何向4.0兼容,而java在发展的过程中每一步跨越需要考虑的则更多。同时,最要命的,java的一切设计都是牢牢基于面向对象的,然而从实际的开发经验来看,现实世界中的许多问题并不能单纯依靠面向对象来解决,牵强使用OOP给实际系统开发已经带来不少的负面影响        

           回头再看c#,虽然其出身也是彻头彻尾的面向对象,然而在其后续的演进过程中似乎并未把OOP放在眼里,到c# 3时干脆加入了具有函数式编程特性的linq,而当其与原先就支持的委托特性结合时,其强大之处就可见一斑了,原先需要使用OOP思想编写的大量"难看"代码linq居然只要几行就能搞定,且更加符合自然语言表达。而java支持lamda似乎是linq推出整整6(也许还不止)后的最近了。

 

    Java,NET的市场:


          这是一个商业问题,而不是技术问题!   三点:反应速度、实施成本、技术梯队。针对这个问题我还需要继续了解吧,不好妄下评论,避免误导大家。只想说一个现状:大公司更青睐Java语言!为什么?就要说一下Java的优势了: Java核心优势:跨平台,提供了自动内存管理机制,由垃圾回收器在后台自动回收等等。至于到底是为什么,可能要在之后的学习中以及在公司里真正用到才能慢慢体会。

 

总结:

 

       关于Java,小编在文章开头所提出的问题,没有完全解决这是肯定的,学习就是这样一个过程,在不断的解答心中的疑问,慢慢的慢慢的去做到了然于心,经历过这些学习之后心里确是有了个谱儿,看到了JavaC#两个核心区别。在之后的学习中继续深入,补充,希望能给大家带来些许营养,谢谢您的阅读      

 
      不过关于Java还有一点大家要了解,Java不仅仅是一门编程语言,它是Java面向对象程序设计语言和Java平台的总称,说到“Java平台”这个词听起来可能有点陌生,但大家可能有所耳闻的JavaSE(J2SE)Java平台标准版、JavaEE(J2EE)Java平台企业版、JavaME(J2ME)Java平台微型版;就是Java平台的组成部分,那么在后续的博客中会重点为大家讲解J2SE和J2EE。


你可能感兴趣的:(★,后端技术,Java与C#,不同,Java入门,编程)