阅读更多

29顶
0踩

编程语言

原创新闻 Java,传奇的一生!

2015-04-23 09:20 by 副主编 mengyidan1988 评论(7) 有7405人浏览
如果说用“永存、曲折、已死、重生”来形容Java,笔者以为一点也不为过。



1991年,James Gosling带领着名为“Green Team”的团队着手研发一种新的语言以及专为下一代数字设备和计算机使用的网络系统。历时4年辛勤工作后,该项目最终修成正果并取名为Java。

Java有着类似于C的语法并有“一次编译,随处运行”的灵便性。透过虚拟机机制,可以使代码在底层平台进行运行时编译。回首Java过去的20年,首先是经历了微机时代的兴与衰,然后进入服务器领域及智能电话领域,继而在DHS(美国土安全部)的“不安全”定义下艰难前行,最后投入甲骨文(Oracle)怀抱现正蓄势迸发第二春。难道还有别的语言有如此跌宕起伏的情节吗?

Java推出后,Sun发现市场上存在着一个问题—计算机领域与非计算机领域彼此是隔断的。Sun认为这是一个机遇,如果能把两者连接起来将会带来一场计算机革命。“统一的主题是网络。”Gosling说,“放眼当时的市场,两个领域的厂家各自为政,没有形成统一的网络。因此很多时候不得不重复大量的实验,但这些其实早在30年前的计算机科学中已得到解决。”问题的所在是电子消费品制造者没有考虑使用网络,例如跨平台的公共APIs或者代码复用,“你几乎找不到任何的软件复用。所有软件都只能不断地被重复创建。我们提出的模块概念终将改变这一局面。”

成功非坦途

Java面世的头五年,成为当之无愧的编译器高性能代言人。而过后五年,所有人都把重心转向了企业应用。Gosling说,“回首Java EE统治世界的场景至今仍历历在目。我们唯一的失误是把全部精力都集中于此,所有资源都被优先调配到EE,导致无法投入更多的精力去开拓桌面的世界。”

Oracle Java平台开发副总裁Saab是这样说的,“在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被边缘化了。Oracle开发部高级副总裁Cameron Purdy说在下一个版本Java 9中会把所有平台统一起来,“对比SE、ME被独立出来但发展缓慢。Java 9的模块化特性会使得Java ME的可复用性得到增强,这将是反击Android和iOS的有力武器。”

陷入低谷

随着Sun在最近10年的低迷,Java也不能幸免地经历着蹉跎岁月。IBM报价65亿美元,Sun没答应,74亿美元,Oracle得到了Sun。

在Oracle管理下,头几年Java表现良好,以0重大失误成为安全的代名词。不过在2013年1月情况开始变坏,美国土安全部(DHS)建议人们尽量不要使用Java。作为面向企业的软件公司,打补丁修复Bug的速度是Oracle的短板,根本无法与面向大众消费者的微软或Adobe相比。别人是以小时或天来计,而Oracle是以月为基本单位。

Purdy认为Oracle已经尽了最大的努力去修补并清楚这个短板的重要性。问题的关键是如何打造一支在失去Gosling等干将后仍能独当一面的团队。他说,“我们听到了不少质疑之声,但其实我们一直都在不断加入投入的力度并努力寻求解决的方案。”

浴火重生

DHS的公开声明不啻是压垮Java的最后一根稻草,很多人都预言Java将风光不再。然而事情慢慢得到转机,不少Java粉丝开始出来捍卫Java的名声。Dr. Dobb's Journal编辑Andrew Binstock曾发表一篇社论,其题目是:《即使面临死亡,Java看上去还是相当健康的》。

对于Oracle的接管,Gosling表达了自己的喜悦之情,“得知这个消息后,我感到非常惊喜。Oracle是个非常优秀的监护人并大大超出了我的期望。一开始我还担心它会不会成为第二个Solaris,现在看来我是多虑了。”

接管Java的头五年,Oracle不得不重新打造一支Java团队。“我们花了大量时间来审视整个过程以确定如何进行Bug修复,从输入到发布机制,我们回顾了大量的代码。最后列出了一个长长的错误修复表。”Purdy回忆说。

安全曾让Java蒙羞,安全也让Java重获新生。在2014 Pwn20wn黑客大会上,Java成为唯一没有被攻破的平台。而在2015的会议中,Pwn20wn甚至没有把Java列在攻击名单上。

现在和未来

Java 9将是自被Oracle收购后发布的首个重大版本。Java 9的最主要目标是最大限度实现模块化以帮助人们实现积木式的应用编写。

“我们的目的是帮助人们从JAR的束缚中解脱出来。”Saab说,“你将很轻松地处理在过去相当复杂的事情,例如打包。你可以只用到需要的模块,而把其它忽略。”Purdy补充道,“这开创了Java平台的先河。该特性将贯穿整个Java库,并以单依赖图的方式重新整理依赖。”

谈及Java的未来,Eclipse基金会执行董事Mike Milinkovich的看法是,“我认为Java的未来在于物联网。我十分乐意看到Oracle及其合作伙伴能把精力放在完全点对点的Java存储方案上,透过网关实现设备到企业后台的连接。如果成功将能使Java在往后20年发展得更好走得更远。虽然这还有一段路要走,但我相信Java能够做到。”

Gosling的看法是,“VM是它本身的生态,所有部分彼此相通。IT世界的未来是要实现互联互通。把边缘和核心有效地统一起来,可以省却内外分开管理的麻烦,从而得到更加强大的平台。”

遍地开花

虽然很多人都曾预言Java将一蹶不振,但是现今在不少的重要项目中,Java仍扮演着极其重要的角色。

Purdy指出,没有Java,甚至不会有大数据的大发展,“Hadoop本身就是用Java编写的。当你需要在运行MapReduce的服务器集群上发布新功能时,你需要进行动态的部署,而这正是Java所擅长的。”

另一Java受惠者是Twitter。一开始Twitter是用Ruby on Rails编写的,但是随着用户数的增长RoR逐渐显得力不从心。Fail Whale(失败鲸)的宕机画面预示着瓶颈问题亟需解决。在2012年,Twitter从RoR转向了Java和Scala,而失败鲸从此灭绝了。

可见Java不但没有成为昨日黄花,还重新焕发了新的生机。让我们共同期待Java 9,看看Oracle将为广大开发者带来什么样的惊喜。

英文来自:ITWorld
  • 大小: 21.1 KB
29
0
评论 共 7 条 请登录后发表评论
7 楼 wyaffle 2015-06-01 13:42
Java 8 才只有一个 release,Java 9 就来了?
6 楼 一别梦心 2015-05-21 22:26
java淘汰了,将有一大批失业者。。。
5 楼 bonait 2015-05-07 14:26
不错,java很强大,www.zipin168.com
4 楼 gaiwang1987 2015-04-28 00:05
oracle 使得java 获得重生
3 楼 行路者一号 2015-04-24 14:29
期待Java9的到来
2 楼 comsci 2015-04-23 10:06

  对于中国的程序员而言,JAVA语言是很多大型软件项目的基础开发语言,不可或缺。。。。。所以JAVA的生命力还非常强大,更不要说在新兴的人工智能领域,JAVA语言的作用。。。
1 楼 孙佳89 2015-04-23 09:56
支持作者,给我们这些java程序员像是打了一针强心剂~

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Java,传奇的一生!

    如果说用“永存、曲折、已死、重生”来形容 Java,笔者以为一点也不为过。 1991 年,James Gosling 带领着名为“Green Team”的团队着手研发一种新的语言以及专为下一代数字设备和计算机使用的网络系统。历时 4 年...

  • Java之父:詹姆斯高斯林的传奇人生

    今天我们来聊一聊这个富有传奇色彩且的Java之父詹姆斯高斯林的人生吧 首先附上我们教父的光辉图片一张 其次是官方简介 博士论文的题目是:“The Algebraic Manipulation of Constraints”。毕业后到IBM工作,设计...

  • 84岁日本老奶奶: IOS 女性独立开发者,一生传奇!

    Python实战社群Java实战社群长按识别下方二维码,按需求添加扫码关注添加客服进Python社群▲扫码关注添加客服进Java社群▲作者丨水影月来源丨大飞码字(ID:BigFly10...

  • Java 之父:找Bug最浪费时间,现在不是开源的黄金时代!

    Java之父的深度访问,速看!

  • 17 岁成为 iOS 越狱之父,25 岁造出无人车,黑客传奇!

    转 17 岁成为 iOS 越狱之父,25 岁造出无人车,黑客传奇! ...

  • 码农逆袭传奇:二本Java程序员如何闭关6个月斩下月薪30k的字节Offer

    面试大厂是非常困难的,这对我而言,也是一样,出身于二本,原本以为就三点一线的生活度过一生,直到生活上的变故,才让我有了新的想法和目标,因此我这个二本渣渣也奋斗了起来,竟拿下了今日头条Java工程师Offer。...

  • Java爬虫实践之获取历史上的今天

    他一生创作了100多部作品,为芬兰音乐开拓了一个新的时代。 让·西贝柳斯是芬兰作曲家。他的著名作品《芬兰颂》曾因沙俄禁... ...

  • 2021最新阿里Java面经,斩获offer

    开篇介绍 个人背景: 不说太多废话,但起码要让你先对我有一个基本的了解。本人毕业于浙江某二本院校,算是科班出身,毕业后就进了一家外包公司做开发,...身边很多人感叹过,能从外包逆袭,算是传奇,所以今天想要分

  • Java是什么?Java的特点有哪些?

    简单地说,Java 是由 Sun Microsystems 公司于 1995 年推出的一门面向对象程序设计语言。2010 年 Oracle 公司收购 Sun Microsystems,之后由 Oracle 公司负责 Java 的维护和版本升级。其实,Java 还是一个平台。Java...

  • 2024年java学什么?java怎么学?

    java中的int与byte的转化 如何解决http请求返回结果中文乱码 使用javamelody进行web监控 最牛程序员最爱逛的10大编程网站,你知道几个?-卓帆网 git常用的操作 分享一款不错的typora主体 nginx反向代理...

  • 基于java的新闻发布及管理系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    Java是一门面向对象编程语言,不同与C++的面向过程编程语言,但是java中继承了许多C++中的许多优点,同时少了 C++里的多继承、指针,因此Java语言具有面向对象和单继承的特征。Java中面向对象编程语言是编程语言的...

  • 这个动物园, 你一辈子也逛不完!

    Linux传奇经历可以参见这篇漫画《Linux 之父:财务自由以后,我失眠了》 MySQL 小海豚 MySQL是开源数据数据库的No.1 , 除了那些财大气粗的公司还是使用收费昂贵的Oracle, DB2之外, 大部分公司都转向了小海豚,...

  • 一个程序员的江湖传奇!出江湖,闯江湖,退出江湖

    再加上老祖干IT一辈子,至今孤独单身,寂寞太久,说:我收你为徒,教你技艺可好。博客饿了太久,冻了太久,心中迫不及待的说:好啊,请受徒儿一拜。 在这个挨踢洞里,景色优美,没有雾霾,博客只见老祖屋里有一台高...

  • 甲骨文:有史以来最伟大的25个Java应用程序

    Java 的故事始于 1991 年,当时 Sun Microsystems 试图将其在计算机工作站市场的领先地位扩展到新兴且发展迅速的个人电子产品市场。几乎没有人预料到 Sun 即将创建的编程语言会使计算大众化,激发了一个全球范围的...

  • java培训靠谱吗?java培训机构哪个好?

    18年经验的java老程序员的自诉(已经2021了,求求你们不要在学java,大数据了) -------------------------------7年java...大学里迷上了玩网游,那个时候还没有现在这么多游戏可以选择,基本上就是传奇,天骄等2d版

  • 基于三层感知机实现手写数字识别-内含源码和说明书.zip

    基于三层感知机实现手写数字识别-内含源码和说明书.zip

  • setuptools-40.7.0.zip

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

  • 搭建VGG16神经网络实现图像分类-内含源码和说明书.zip

    搭建VGG16神经网络实现图像分类-内含源码和说明书.zip

  • setuptools-40.6.1.zip

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

Global site tag (gtag.js) - Google Analytics