JAVA语言的本质优势
虽然Java应用最广泛,但与其它语言比并没有什么技术上的优势。常会看到各种抱怨,说Java语言设计不如C#,对native的精确控制和灵活性不然C++,动态性、开发效率方便不如Ruby,Python,Node,在高并发领域又不如Erlang,中间应用层又远不如Go、Swift等,但为什么它一直是编程语言排行榜首,并且在大公司中广泛应用呢?
比较同意一种说法,Java最大的优势不是它的跨平台性而是它庞大而完善的生态系统。它的流行最主要原因还是由其生态系统决定的。
- Java语法不复杂,入门简单。语言各方面比较均衡,拥有最值得信赖的GC,避免很多码农的低级错误。并且天生的面向对象设计,更容易模块化开发。再加上Java强类型静态语言,只要框架已搭好,即便开发人员能力不足,也基本能保证代码质量,这在大项目的协作开发、维护方面很有优势。
- 开源,拥有大量的第三方库,并且大部分质量有保证,可以拿来就用,对软件生产效率的提升所带来的巨大价值。正如一句话所说:“我们不生产代码,我们只是Github的搬运工。”并且Java拥有很多杀手级应用,如Spring,Apache、Android,Hadoop,Spark等。
- 拥有免费好用的IDE——Eclipse,通过插件几乎可以满足日常开发的任何需求。
- 最重要的,Java在不断的进化,并且在慢慢的进化,正如罗胖在刚刚过去的《时间的朋友》跨年演讲中说的那样“我们喜欢进步,更喜欢慢慢的进步”。
JDK1.4性能很大提升,基本被人接受
JDK1.5增加泛型、线程池、注解
JDK1.6进一步提升性能
JDK1.7加了Try with Resource,switch String等小功能,多线程方面也有改进,性能再次提升。
JDK1.8加入lambda, stream等功能,功能上有了很大的升级。
最后,Java拥有世界上数量最多的程序员,更容易招到人。