拿什么拯救你,Java

拿什么拯救你,Java

       1996年,我加入了一家新公司,从此告别了相濡以沫5年的C/C++。之后的10年,经历了Java从倍受质疑到大红大紫的历史。2006年,我决心不再对Java亦步亦趋,尽管Java仍是我工作中不可或缺的一部分。这不是一个冲动的决定,中间经过了很多反复思考,对我这样一个“老人”,是一个尤其痛苦的过程。

       这个决定多少和我的女儿有关。她今年10岁,几乎和Java同一时间来到我的生命中。她喜欢上网玩Flash小游戏,有一天忽然问我怎么编程序。我把书架上的书一一指给她看,后来她再没提过编程序的事。我意识到:编程,在我的大学时代,曾经是那么有趣和简单的事情,现在已经变得太复杂了。是啊,似乎每门学问都在变得复杂,复杂似乎就是进步的标志。可是其他的我不懂,对于编程来说,我有理由认为大多数的复杂性都是人为造成的。

       Java最初是作为一种嵌入式设备编程语言产生的,起因是设计者对于C/C++的失望。推动Java流行的重要原因是互联网的兴盛,Java作为实现动态网页的先驱异军突起。尽管在浏览器端的Java Applet后来受到ActiveX、ASP、JavaScript、PHP等的挑战渐渐失去了优势,但在服务器端逐渐建立起了根据地,更进一步成为了企业级的标准。Java的成功大大出乎设计者的意料,但偶然中自有必然。这个必然就是:Java是简单的,但不简陋。当初我学习Java只用了3周时间,和我以前用C/C++的时候比较,开发效率至少提高2倍。Java在保持简单的同时,却包含了当时最重要的一些软件业在实践中取得的编程思想:自动内存管理、纯粹的面向对象支持、平台独立的虚拟机等等。正是由于完美地解决了这些程序员每天要面对的问题,让Java赢得了开发人员的青睐,以至于在后来快速发展的企业市场一枝独秀。

       本来Java可以轻装前进,继续在基本的语言层面进行创新,比如对SmallTalk等语言的动态特性加以吸取,成为更加先进的语言。可是Sun的管理者决定把Java打造成一个无所不包的“企业级平台”。EJB火热出炉,JCP也应运而生,从此Java成了被绑架的王者,表面上风光无限,实际上已经是大企业横征暴敛,互相讨价还价的政治玩物。Java语言近几年来几乎没有什么值得一提的创新,甚至有些方面已经落在了C#的后面。脑满肠肥的JCP大老们在Hibernate火了2年之后才勉强搞出了一个似是而非的EJB 3标准,其中原因路人皆知:各大公司的摇钱树——应用服务器需要利益平衡! 

       随着Java的开源,新一轮的创新也拧开了水龙头。可是,历史上还没有一种主流计算机语言能够掀起第二个高潮,都是在一个高潮后延续一个较长的平台期,再非常缓慢地衰退。Java的市场份额从2001年的26%左右一路下滑,到2007年2月的19%左右已经跌了7%。要知道,7%相当于目前C#和Python的总份额,是C++的总份额10.8%的近2/3。为什么?原因很简单:地平线上出现了新的更好的选择。 

       PHP、Python、Ruby、D语言等如雨后春笋般的冒了出来,并且大幅增长。如果说他们中的某一个还不能动摇Java的根本,但这个现象足以说明:Java正在被代替,基于Java的所谓“企业级”的东西——复杂的EJB和昂贵的应用服务器,并非大企业所必需。如果我女儿要学习编程,我不会介绍她学习Java。为什么要学习EJB?Hibernate?WebSphere?Spring?Struts?AJAX?为了让她可以快点赚钱,我会教她Ruby on Rails。一个框架两本书,全部搞定。 

       Rails的出现可以说向Java提出了根本性的挑战。我第一次在网上看到它就像当年第一次看到Java。简单但不简陋!学习Rails大概用了两个月,但我已经可以做到之前用Java可以做到的所有东西了。最关键的是,我找回了大学时代编程的乐趣,不用再搞那些烦人的get/set方法和XML配置,只要相当于Java 1/5的代码就可以完成工作。Rails也许只是一个先行者,不是最后的王者,但Rails设置了一个标准:下一代的主流编程语言以及框架,必须要有类似或更好的简单性、生产率、以及fun。 

Java能否再铸辉煌?我不知道。Java的包袱太重了。除去Java本身需要尽快完成类似Ruby或Python的动态特性,一个类似或超越Rails的简单但完备的框架需要及时出现。通过撮合几个开源的框架不是答案,太复杂了。 

最后,但愿陪伴我走过青春岁月的、带走无数个不眠之夜、带着女儿奶香气的Java,不要象恐龙一样地死去……

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值