最近看到一篇新闻:
甲骨文无心恋战:Java企业版休矣
刚看到这条新闻的时候,我是震惊的,作为编程语言的老大,居然被他的老大哥(Oracle)沦落到这个地步了,有可能是因为开源不赚钱吧。但看下面的评论,又是很多评论说是Java语言很烂,早一点必将被淘汰之类的话。我深深的为Java打抱不平
但事实是近几年java在所有编程语言中受欢迎程度都是最高的,达到了近四分之一,移动开发的崛起虽然给Java带来一定的冲击,但编程语言的老大哥非Java莫属,但在我看来,Java的精神永存,并且在今后的几年内还是编程语言的老大哥
是什么让Java发展的如此迅猛?
很多人就有疑问了,Java如何在短时间内变得如此强大,是怎么做到的?
Java作为典型的面向对象语言,他生来就是面向对象的。甚至他没有不面向对象的编程方式,充分演绎了万物皆对象的世界观,几乎所有大学的面相对象课程就是以Java为基准进行讲解的,面向对象下的设计模式使得Java在开发复杂应用的时候变的如此的优雅,可以说Java天生骄傲
Java是一次编译,跨平台运行,这就造就了现在如此大的体量。这就归功于Java独特的编译手法。Java先编译成.class文件,编译了源码之后,就可以开始运行了,这时候需要用到Java解释器,把.class文件变成机器语言运行,因此Java很快。当遇到图形化界面时不同的环境运用不同的图形风格,这就造就了现在Java的跨平台,这就是Java的虚拟机,Java的常量池大大提高了内存的使用率,这直接导致了现代生活的方方面面都运用了Java,家里的微波炉,机顶盒内的中控程序,Java已经融入了我们的生活
我认为开源的思想是世界最伟大的发明,是给全世界软件、网络工程师的礼物,而Java的精神就是开源的精神,大量的开源库(Struts、Spring MVC、Spring、Hibernate、MyBatis、DBCP、C3P0、JUnit),Marven仓库内的jar包依赖更是数不胜数,因此即使有一天它不再辉煌,但是这种精神会伴随,直至永恒
大家要记住1995年,因为那是Java的生日,世界从此诞生了一个编程语言的巨人:Java,经历了时间的历练,类库的增加,Java越来越多的运用到服务器领域、嵌入式开发、游戏的开发,可以说大家都对那个咖啡杯抱有自己独特的情怀。然而咖啡杯本身也有自己的故事
有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,这个提议得到了其他人的赞同,于是,Java这个名字就这样传开了。后来的JavaBean什么的都是向咖啡致敬
Java的未来
现代,随着PHP,node语言的崛起,越来越多的语言开始挑战Java这位老大哥的位置,新语言(node)的很多实现其实已经优于Java,并且有着更快的开发速度,Java开发也面临了最大的问题:相对于其它的面向对象语言,由于严谨导致Java更难学,软件公司做过一个调查,零基础上手PHP只要三个月,但上手Java要半年,我们这边的上手不是打个Hello World即可,而是可以参与实际的业务开发;另外一点就是开发慢,由于人力成本的提高,很多创业公司很少会考虑这门优雅的强类型语言,新时代下的快速迭代,让Java面临了很大的挑战。
但我认为Java这门语言,Java还是尤其适合编写大型的系统。在大型企业手中不会末落,正是因为Java的严谨,才导致了这么多企业的ERP、MIS系统都运用Java。随着数据越来越多,公司开始迈向大数据,Java的Hadoop就是一个比较完美的开源解决方案,它对很多机器进行集成,提前说一下,Hadoop也是用Java实现并且开源的哦
我现在的观点:业务才是真正驱动编程语言的发展,正是业务的千奇百怪,才诞生了如此多的编程语言,用来解决特定的问题,通过不同的业务选择不同的语言就显得非常的重要
作为一个大型项目,我认为Java还是最先的选择,丰富的类库,强类型语言的严谨,纯面向对象的优雅,Java都有所具备,而且现在的开源库,使开发的速度大大加快;一些网页小型项目,就比如需要给用户做一个视图进行搜索之类的,或者是一个小型的管理系统,你会发现PHP就变得如此的适合,它开发速度极快,代码可以面向对象,面向过程,甚至可以不运用开源框架就可以完成web小型应用的开发;如果需要写一个网络爬虫,那Python就变的如此的方便;如果你是运维,维护的是Linux,shell脚本和Linux命令就是你平时的战斗工具;如果你想尝新,想试试手,并且做了蛮久的前端工程师,node是你的不二选择;如果你是单片机的嵌入式,好吧我对这些啥都不懂,但是听说是万能的C
当然,一切最新的计算机编程技术,都服务于业务,业务才是现如今计算机发展的核心,正是业务推动着计算机技术的发展,愿几年后我还能骄傲的说出我是Java工程师