是JAVA更加优秀还是C#更加优秀?其实大多数Java和C#程序员都知道,这两门编程语言在编程思想以及语法方面有诸多共同之处。或许使用Java的程序员觉得Java更加优秀,使用C#得程序员觉得C#更加优秀。我作为两门语言都研究过得程序员,站在中立角度说说这个问题!
从编程角度来说,Java更加优秀!因为Java几乎和大多数性能比较优秀的编程语言一样,需要使用者去懂得怎么控制自己的代码,才能让代码更好地更效率地执行。Java程序员知道怎么调优,也喜欢看底层源码的实现,懂得如何配置各种参数,所以Java程序员更懂底层!
而C#大多数情况下不需要去管这些,C#大部分东西都是托管的,比如内存!而C#的IDE基本上在程序员写代码的时候该提示的提示,提示不了的、复杂的东西全部使用界面化或者自动给程序员预先生成了!尤其是最新的IDE已经支持代码上下文联想了!未来C#程序员可能只需要输入一个关键词,C#的IDE就能自动生成程序员想要的代码!
因此,相较于Java,C#程序员给人的感觉就是“道行不深”!因为C#程序员长期依赖IDE,基本上大多数普通C#程序员离开IDE会寸步难行!
但是,作为编程语言,它始终只是一个生产工具。如果这个工具不能做到让人更方便地使用,那么这个工具无疑是失败的!
编程语言以及IDE本质上就是软件,我们在使用编程语言写软件的时候都知道如何让用户在使用的时候能够更加方便、更加好的理解软件意图。所以,从这方面来说,C#无疑是比Java做得更加优秀的!
尤其是在图形界面这块,C#很早就支持通过拖拽控件生成软件界面了,但是目前Java也仅仅是在Android/ target=_blank class=infotextkey>安卓平台实现了这个功能。
很多人可能都不知道如何使用Java编写桌面软件,实际上Java写桌面软件也很优秀,只不过相比C#,编写效率基本上跟自己写前端html和css差不多!
如果Java能在早期实现跟C#同样的效果,我估计现在也没C#什么事了!光跨平台这个“大招”C#就接不住!
因此,我们可以看出来,Java和C#对于用户体验的考虑是不一样的!Java更多地把编程的大部分控制权交给了程序员自己,把自己当作一个“理科生”对待。但是,C#就像一个贴心“暖男”,什么事情都给你想好了!
或许C#未来真能实现“人人都是程序员”,但是Java若停滞不前,或许只能吃因为安卓出现而带来的红利了!因为要不是安卓的出现,C#还是很能打的!