Java一直位居编程语言的榜上首位,最近的排行榜显示的使用率又有大幅增长。这个20多年的语言在焕发第二春。
回首Java过去的20年,首先是经历了微机时代的兴与衰,然后进入服务器领域及智能电话领域,继而在DHS的“不安全”定义下艰难前行,最后投入Oracle怀抱。
Java的诞生
1991年,James Gosling带领着名为“Green Team”的团队着手研发一种新的语言以及专为下一代数字设备和计算机使用的网络系统。历时4年辛勤工作后,该项目发布,取名为Java。
Java有着类似于C的语法并有“一次编译,随处运行”的灵便性。透过虚拟机机制,可以使代码在底层平台进行运行时编译。回首Java过去的20年,首先是经历了微机时代的兴与衰,然后进入服务器领域及智能电话领域,继而在DHS(美国土安全部)的“不安全”定义下艰难前行,最后投入甲骨文(Oracle)怀抱现正蓄势迸发第二春。
Java推出后,Sun发现市场上存在着一个问题 —— 计算机领域与非计算机领域彼此是隔断的。Sun认为这是一个机遇,如果能把两者连接起来将会带来一场计算机革命。当时的市场,两个领域的厂家各自为政,没有形成统一的网络。因此很多时候不得不重复大量的实验,问题的所在是电子消费品制造者没有考虑使用网络,例如跨平台的公共APIs或者代码复用。所有软件都只能不断地被重复创建,Java提出的模块概念将改变这一局面。
成功非坦途
Java面世的头五年,成为当之无愧的编译器高性能代言人。而过后五年,所有人都把重心转向了企业应用。在90年代,大多数开发者都把精力投入到桌面应用的编写之上。到了2000年,Pet.com的成功吸引了大批的跟风者。业界又把焦点从桌面转移到了HTML应用。随着智能电话和平板的到来,基于触摸屏的移动应用又站在了风口。
Java 2 Micro Edition(J2ME)在1998年引入并把Java划分了三个平台:Java 2 Standard Edition(J2SE)、J2ME以及Java 2 Enterprise Edition(J2EE)。ME的意思是小型设备和嵌入系统。ME在翻盖手机上得到推广,成为当时的标配。Gosling说,“ME已经做得足够好了,在当时是最强大的智能电话开发平台。*现在渐渐被遗忘,因为Android太耀眼了。”
作为一个独立平台,Java ME被边缘化了。
陷入低谷
随着Sun在最近10年的低迷,Java也不能幸免地经历着蹉跎岁月。IBM报价65亿美元,Sun没答应,74亿美元,Oracle得到了Sun。
在Oracle管理下,头几年Java表现良好,以0重大失误成为安全的代名词。
在2013年1月情况开始变坏,美国土安全部(DHS)建议人们尽量不要使用Java。作为面向企业的软件公司,打补丁修复Bug的速度是Oracle的短板,根本无法与面向大众消费者的微软或Adobe相比。别人是以小时或天来计,而Oracle是以月为基本单位。
Purdy认为Oracle已经尽了**的努力去修补并清楚这个短板的重要性。问题的关键是如何打造一支能独当一面的团队。他说,“我们听到了不少质疑之声,但其实我们一直都在不断加入投入的力度并努力寻求解决的方案。”
浴火重生
DHS的公开声明不啻是压垮Java的最后一根稻草,很多人都预言Java将风光不再。然而事情慢慢得到转机,不少Java粉丝开始出来捍卫Java的名声。
在Oracle接管Java的头五年,Oracle重新打造了一支Java开发团队。花了大量时间来审视整个过程以确定如何进行Bug修复,从输入到发布机制,回顾了大量的代码。最后列出了一个长长的错误修复表。
安全曾让Java蒙羞,安全也让Java重获新生。在2014 Pwn20wn黑客大会上,Java成为**没有被攻破的平台。而在2015的会议中,Pwn20wn甚至没有把Java列在攻击名单上。
未来趋势1 Java9的发布,形成更好复用性
Java 9将是自被Oracle收购后发布的首个重大版本。Java 9的最主要目标是**限度实现模块化以帮助人们实现积木式的应用编写。
目的是帮助人们从JAR的束缚中解脱出来。该特性将贯穿整个Java库,并以单依赖图的方式重新整理依赖。
Java 9会把所有三个Java开发平台统一起来,模块化特性会使得Java ME的可复用性得到增强,这将是反击Android和iOS的有力武器。