Java过时了?

[复制链接]
查看11 | 回复9 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
今天看到一篇这样的文章
在四年以前,当我开始鼓吹Hibernate,抨击EJB的时候,遭到的是群起而攻之的场面,但是不到一年之后,Hibernate已然得到了普及和大多数Java开发人员的认可;
在三年以前,当我开始赞誉spring的时候,spring还面临着EJB3的阴影,以及EJB2对其不登大雅之堂的指责,然而不到一年的时间,spring已经成为绝大多数Java开发人员的首选;
在两年以前,我极力希望宣传webwork,唱衰JSF,时至今日,webwork以Struts2.0的身份容登大雅之堂,而JSF还在靠厂商死挺着;
而当一年之前我开始采用RoR开发JavaEye的时候,RoR的置疑之声还甚嚣尘上,但当我在今年初预言07年下半年RoR在国内会被广泛接受的时候,很多人已经笑不出来了;
今年我预言些什么呢?我觉得会是AJAX技术走出PC的时代,证据就是iphone,与此相关联的事情就是REST架构的流行。


但是这篇文章里面我想谈的却不是我预言的水平准不准,而是想谈Java真的会因为RoR的流行而过时吗?目前在web开发主要应用在两个大的领域,互联网和企业应用,我们分别来看一下:
一、互联网领域
互联网领域第一大动态语言是PHP,第二第三分别是ASP和Java。在中小型互联网应用当中,PHP的王者地位不容动摇,但在大型应用当中,Java是目前主流的选择,特别是电子商务类型的应用,例如阿里巴巴就从早期的PHP转变到Java,从前的eachnet也是如此。造成这样局面不是没有原因的:
1、中小型互联网网站强调开发速度,维护成本,以及入门快速和部署成本,PHP是最合适的选择;用Java则显得过于笨拙,开发慢,维护成本高,入门周期长,部署麻烦;RoR开发速度最快,维护成本最低,但是RoR入门速度没有PHP快,部署成本比PHP高。因此中小型互联网网站主流还是PHP,但RoR能够占据一定的份额。
2、大中型互联网站强调稳定性,性能,大规模代码的组织能力,而开发效率则退居次要地位,有些应用如电子商务对事务有很高的要求,显然Java是最合适的选择;PHP的代码组织能力最差,RoR次之。
在互联网领域,Java从来就不是主流,并且Java的适用领域和RoR不太重合。我们甚至可以这样说,RoR现在在互联网领域取代的是那些原本不适合用Java,但是被错误的选择了Java的项目。
二、企业应用领域
目前企业应用领域第一大语言是Java,dotnet其次。企业应用采用的技术和行业有很大关系:例如金融行业,电子政务行业一般只采用Java。dotnet发展了6年尚且没有进入企业高端的应用,RoR在短期之内也很难取代Java的地位。
在企业应用领域,Java是主流,并且Java的适用领域和RoR也不太重合。我们也可以这样说,RoR将来在企业应用领域要取代的是那些原本不适合用Java,但是被错误的选择了Java的项目。
至此,我想Java程序员大可以松一口气,RoR目前有哪些不适合的场合呢:
1、对事务要求非常高的场合
RoR还是很简单的单数据库事务控制,缺乏精细的事务控制功能,当然也不支持跨数据库的分布式事务。因此对于事务要求严格的大型电子商务网站,部署复杂的分布式数据库场景显得力不从心。当然也许有些plugin可以提供这些功能,但是从目前的功能完备性和成熟度来看,还不够。
2、处理大量遗留数据库的场合
ActiveRecord的威力很大程度上来自约定,大量命名糟糕的遗留数据库会对RoR造成比较大的障碍。
3、庞大的项目团队,对开发速度要求低的场合
例如日本外包项目,团队庞大,个体开发速度要求低。但是对于代码规范要求严格的项目。
虽然RoR不会取代Java,但不意味着作为程序员的你可以固步自封。即使在工作当中用不上RoR,多看一点新的技术,对于开阔个人视野也有很大的好处。
不知道大家如何评价:
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
没看出和标题的联系……
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
要走下陂路了?
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
技术过时与否其实和客户或者自己的产品有关,有需求就会有生存条件!客户如果指定需要使用何种技术,如何决断?鼓动还是听从?还是拍脑袋瓜决定?


回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
最初由 Dennis68cn 发布
[B]技术过时与否其实和客户或者自己的产品有关,有需求就会有生存条件!客户如果指定需要使用何种技术,如何决断?鼓动还是听从?还是拍脑袋瓜决定?

[/B]

同意
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
MS robbin写的!
呵呵


西蒙找FK去问吧。
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
ROR呵呵,下辈子吧!!!
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
最初由 dearmeiw 发布
[B]ROR呵呵,下辈子吧!!! [/B]

同意
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
任何语言都有可能过时,但java发展到今天已经不仅仅是一门独立的编程语言,他更是一种思想,一种平台,一种可令更种新技术与新思想展示自己的绝佳场所,所以如果java仅以一种编程语言而被市场淘汰后,那他的思想、框架与组织结构一定会被替代的语言全部继承并发扬光大,所以学好java不但是为了今天的工作,更是未来更大发展的最根本基础。
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
JAVA的今天不是一个语言的今天,语言比JAVA先的比JAVA好的多的是,世界上每天都有一门语言产生,JAVA的成功不是语言本身的问题,看看SUN IBM BEA 。。。。。。看看企业级的应用,就会明白一些吧!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行