- 浏览: 4797861 次
- 性别:
- 来自: 上海
博客专栏
-
robbin谈管理
浏览量:135676
文章分类
最新评论
-
xly1981:
领导者是团队的灵魂。深入一线的过程,包括代码review,能帮 ...
robbin谈管理:改造团队的经验(2) -
jiehuangwei:
像这种总结比较性的ppt文档可以多发啊
Web并发模型粗浅探讨 -
linux1308:
看完学习到了很多东西,感谢推荐!
推荐一篇很好的RoR部署方案性能评测 -
zweite:
直接对搜索的结果进行缓存是不是会更快一点呢
漫谈应用缓存的命中率问题 -
kaogua:
现在已经是ruby2.0了, 不知道这个的效率是怎么样的, 是 ...
Ruby作为服务器端应用已经成熟了
在四年以前,当我开始鼓吹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,多看一点新的技术,对于开阔个人视野也有很大的好处。
这句话说得非常的客观,也是俺的心声,之前老是看到有人乱吹什么ror取代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,多看一点新的技术,对于开阔个人视野也有很大的好处。
评论
34 楼
lh870003574
2011-11-25
在我看来,IT已经不再“重要”
33 楼
linrulong2005
2011-06-22
或许我还不可能对IT行业进行寓言,但是大学3年里面花了2年学编程,我看到的是java在面向对象思想上对c++的超越,且不论java的运行效率等等,至少,当大学可能要选择:算法、数据结构、离散数学、计算机体系结构等等的时候,java可以被选择为面向对象思想的蓝本,有一天我会把你的文章看完~
32 楼
wuzhxun
2011-01-18
“例如金融行业,电子政务行业一般只采用Java。dotnet发展了6年尚且没有进入企业高端的应用.”主要是金融电信移动行业大部分是linux系统,如果用dotnet做项目,这怎么部署运行?
31 楼
ZKLEE
2010-10-24
我认为JAVA定要被过时的东西,哪怕是在企业领域,原因有2:
1. JAVA在企业应用领域主要被用于表现层(UI开发),很难应用的业务逻辑层,我从来没有见过一个真正的完全基于JAVA的ERP或者CRM的存在。哪怕是ORACLE的商务套件,大多数的业务逻辑均通过存储过程来实现。事实上用JAVA开发的应用很难做到业务层和表现层的分离。因此在J2EE基础上不可能实现大应用,例如ERP,CRM等,你们所谓的大企业应用无非就是一些技术平台,中间件和门户,类似IBM WEBSPHERE, BEA之流。做JAVA的开发人员很少能理解什么是BUSINESS APPLICATION。
2. JAVA是个吃内存的老虎,对内存需求过大,哪怕如今的硬件能满足JAVA对内存的需求,但其本身VM技术对复杂内存对象处理是有天生缺陷的,许多DUMP另很多资深开发人员也无法理解。这就造成许多基于J2EE企业应用的不稳定性。错误是很难被追踪的,因为这些错误都是偶发性的(内存中的错误)。
3. 启动一个J2EE的产品需要至少花15分钟(从输入启动命令到所有应用完全启动),慢的甚至达到6个小时。我问过所有J2EE管理人员,他们有个共同的抱怨就是害怕重新启动J2EE平台,这真是一个漫长的煎熬,有时候还不一定能启动成功。
总结:我认为JAVA无论对于用户还是企业都是显得笨拙的。对于企业来说,它的笨拙一方面体现在开发时间,另一方面也体现在运行时间。开发时间的笨拙来自于它引以为豪的“开放性”,但却造成了它过于分散的特点(每个厂商都有基于JAVA的不同方案,每半年会出现一个新的框架,对开发人员来说想是恶梦);运行时间的笨拙我前面已经说过了,我相信真正有过J2EE平台管理经验的技术人员(非开发人员)都不会喜欢它的。
1. JAVA在企业应用领域主要被用于表现层(UI开发),很难应用的业务逻辑层,我从来没有见过一个真正的完全基于JAVA的ERP或者CRM的存在。哪怕是ORACLE的商务套件,大多数的业务逻辑均通过存储过程来实现。事实上用JAVA开发的应用很难做到业务层和表现层的分离。因此在J2EE基础上不可能实现大应用,例如ERP,CRM等,你们所谓的大企业应用无非就是一些技术平台,中间件和门户,类似IBM WEBSPHERE, BEA之流。做JAVA的开发人员很少能理解什么是BUSINESS APPLICATION。
2. JAVA是个吃内存的老虎,对内存需求过大,哪怕如今的硬件能满足JAVA对内存的需求,但其本身VM技术对复杂内存对象处理是有天生缺陷的,许多DUMP另很多资深开发人员也无法理解。这就造成许多基于J2EE企业应用的不稳定性。错误是很难被追踪的,因为这些错误都是偶发性的(内存中的错误)。
3. 启动一个J2EE的产品需要至少花15分钟(从输入启动命令到所有应用完全启动),慢的甚至达到6个小时。我问过所有J2EE管理人员,他们有个共同的抱怨就是害怕重新启动J2EE平台,这真是一个漫长的煎熬,有时候还不一定能启动成功。
总结:我认为JAVA无论对于用户还是企业都是显得笨拙的。对于企业来说,它的笨拙一方面体现在开发时间,另一方面也体现在运行时间。开发时间的笨拙来自于它引以为豪的“开放性”,但却造成了它过于分散的特点(每个厂商都有基于JAVA的不同方案,每半年会出现一个新的框架,对开发人员来说想是恶梦);运行时间的笨拙我前面已经说过了,我相信真正有过J2EE平台管理经验的技术人员(非开发人员)都不会喜欢它的。
30 楼
javahead
2010-07-23
之前Java虽然没过时,但也限制了发展
随着Android的普及,Java又重新看到了希望
随着Android的普及,Java又重新看到了希望
29 楼
qq2525
2009-02-10
python
在我理解 JAVA给我们的是理念,不是语言!谢谢@@
喜欢这句话,这个才是领悟!
soleares 写道
在我理解 JAVA给我们的是理念,不是语言!谢谢@@
喜欢这句话,这个才是领悟!
28 楼
lizhuang
2009-01-06
国外搞python的人很多啊,JAVA有些特性注定了它的落后性。支持python!python大火指日可待。
27 楼
soleares
2008-12-27
在我理解 JAVA给我们的是理念,不是语言!谢谢@@
26 楼
toney_kissinger
2008-11-28
我的观点是不要死抱一门开发语言不放.争取做到博采众长.在不断的实践中学习新东西,有机会就试一下.有了实项项目的切身体会之后,才能在众多的语门技术中选择适合自己及项目的相关技术方向及方法论..最大的成本约束是时间每天每人24小时,谁都不可能多或少.
25 楼
renyanwei
2008-11-16
什么过时不过时 学习只是兴趣推动 管他呢
24 楼
咖啡舞者
2007-07-09
新事物需要符合发展的趋势。
不仅仅因为它是新生儿。来也的太突然去的也突然,还是要接受考验的。JAVA不是偶像派。
不仅仅因为它是新生儿。来也的太突然去的也突然,还是要接受考验的。JAVA不是偶像派。
23 楼
81261686
2007-07-09
Java不会过时,只是说在以后的时间内还有没有代替Java成为下一个主流的语言
22 楼
kamiiyu
2007-07-09
左JEE,右RoR,NetBeans挂胸前
21 楼
xyy_2121
2007-07-07
旧的悠悠死去,新的悠悠生出,不慌不忙,一个跟一个,——这是演化。
新的已经到来,旧的还不肯去,新的急了,把旧的挤掉,——这是革命。
不论ror、Java是演化还是革命,进步的都是技术,广大的程序工作者必须随之进步,也只有这样技术才能推广和进步!~~
新的已经到来,旧的还不肯去,新的急了,把旧的挤掉,——这是革命。
不论ror、Java是演化还是革命,进步的都是技术,广大的程序工作者必须随之进步,也只有这样技术才能推广和进步!~~
20 楼
indexchen
2007-07-06
想出名完全不必说这种不着边际的话,当心搬起石头砸自己的脚。 语言过不过时岂是你说了算的。
19 楼
ahuaxuan
2007-07-06
引用
在企业应用领域,Java是主流,并且Java的适用领域和RoR也不太重合。我们也可以这样说,RoR将来在企业应用领域要取代的是那些原本不适合用Java,但是被错误的选择了Java的项目。
这句话说得非常的客观,也是俺的心声,之前老是看到有人乱吹什么ror取代java之类的话,简直是盲目和狂热。
18 楼
lyqgenius
2007-07-06
語言或技術隻是手中或心中的一把劍
做開發的要知道什麼環境下用什麼開發
做開發的要知道什麼環境下用什麼開發
17 楼
lordhong
2007-07-05
按需求来选择语言/框架/技术, 各有所长, 各取所需.
架构师的职责所在:)
学习RUBY以后可以用JRUBY在JVM上做写SCRIPTING, 有点一通百通的感觉
顺便赠送经典电影名言: 能力越大...责任越大... -.-#
架构师的职责所在:)
学习RUBY以后可以用JRUBY在JVM上做写SCRIPTING, 有点一通百通的感觉
顺便赠送经典电影名言: 能力越大...责任越大... -.-#
16 楼
hamburg
2007-07-04
在我看来 java永远不会过时的,
为什么,原因三点:
一是java为什么这么受欢迎,跨平台,靠什么跨平台,java虚拟机这个小软件。
二是全球多少程序员在使用java;
三是java目前市场的占有量;
四是java还有强大的团队在做维护和升级。
在我看来,所谓的过时,无非是指java以前的版本过时了,java这个名词不时髦了,ror这个名词比较时髦,应为他流行的时间太短。地球永远在转动,当他不转了,那真是过时了。java永远在更新,java永远就不会过时,但是java这个名词是已经过时了,因为所有人都知道他是什么了!
为什么,原因三点:
一是java为什么这么受欢迎,跨平台,靠什么跨平台,java虚拟机这个小软件。
二是全球多少程序员在使用java;
三是java目前市场的占有量;
四是java还有强大的团队在做维护和升级。
在我看来,所谓的过时,无非是指java以前的版本过时了,java这个名词不时髦了,ror这个名词比较时髦,应为他流行的时间太短。地球永远在转动,当他不转了,那真是过时了。java永远在更新,java永远就不会过时,但是java这个名词是已经过时了,因为所有人都知道他是什么了!
15 楼
JeffreyHsu
2007-07-04
好像是03/04?年在程序员杂志上看到介绍hibernate,《冬眠的数据库》似乎是gigix写的,第一次知道有hibernate这么个东西。后来google,只能找到夏昕的一篇开源文档入门
webwork这东西是看的《Java OpenSource Development》这本书了解的,那时候漫天都是struts,买本书都没有
不过我还是比较看好JSF(虽然不好用)的未来发展,容纳力和扩展性很强
webwork这东西是看的《Java OpenSource Development》这本书了解的,那时候漫天都是struts,买本书都没有
不过我还是比较看好JSF(虽然不好用)的未来发展,容纳力和扩展性很强
发表评论
-
WebObjects的来龙去脉
2012-06-08 15:30 7433在知乎上回答的一个问题:http://www.zhihu.co ... -
缓存技术浅谈
2010-09-24 18:08 21631有我在两年前写的一个培训的ppt,是介绍缓存知识的。有兴趣的可 ... -
对领域模型实现的总结性观点
2008-11-30 15:16 19408陶文发起的对领域模型 ... -
发现JBoss Seam很棒呀!有用Seam做过项目的吗?
2008-07-06 20:56 30039上周去见了一个朋友Mark,他应邀在Red Hat的研讨会上面 ... -
Spring Application Platform - SpringSource的应用服务器发布
2008-05-05 17:04 68262008年的5.1劳动节,Spring ... -
Warp framework - 一个相当有前途的Java轻量级Web开发框架
2008-03-06 15:24 22340Warp framework 是最近刚刚 ... -
Google Android会成为手机领域的微软Windows吗?
2007-11-16 17:23 9569Google gPhone手机的传言已经沸沸扬扬好几个月了,然 ... -
Java开源框架发展的遐想
2007-05-23 00:04 34717上周末在杭州网侠大会做演讲的时候,我说:Java开源框架的革命 ... -
漫谈应用缓存的命中率问题
2007-05-09 14:19 26205这篇文章源自于: http://www.iteye.com/ ... -
为什么ORM性能比iBATIS好?
2007-05-06 11:16 34399缓存是有很多层次的,有web server前端缓存,有动态页面 ... -
点评Grails vs RoR
2007-03-30 17:49 8234Grails的革新和RoR相比,非常不彻底,很多地方兼容Jav ... -
缓存简述
2007-03-30 09:55 12203缓存实现的层面有很多: 1、对象缓存 由ORM框架提供,透明 ... -
JRuby0.9.8,正式宣布支持ruby on rails
2007-03-07 10:35 15592http://jruby.codehaus.org/ 自从S ... -
domain model的延伸讨论
2007-03-03 01:17 40504domain model,又称为领域模型,是Java企业应用讨 ... -
可以开始用Struts2.0了
2007-02-27 14:56 55976http://struts.apache.org/ Apac ... -
Google Guice - 比Spring快100倍的IoC容器
2007-02-27 14:46 58070http://code.google.com/p/google ... -
Spring2.0和EJB3.0随谈
2007-02-08 14:26 18405Spring自从2003年发布以来 ... -
Java程序员的推荐阅读书籍
2007-02-07 20:12 101200《Java程序员的推荐阅读 ... -
应该如何正确使用Quartz
2006-12-27 11:40 34076对于Web容器来说,最忌讳应用程序私自启动线程,自行进行线程调 ... -
静态类型语言的优势究竟是什么?
2006-11-13 10:03 33288在参与这个讨论的过程中,产生了一个新的话题,很想和大家探讨一下 ...
相关推荐
JAVA使用或覆盖了已过时的API对照表.pdf
很老旧的学习资料有些过时了,看看吧 没多大帮助。。。。。。。。。。
最新最全最好的java中文版API 1.6. 此 API 文档的组织方式 此 API(应用程序编程接口)文档包含对应于导航栏中的项目的页面,如下所述。 概述 概述 页面是此 API 文档的首页,提供了所有软件包的列表及其摘要。此...
记事本 java源码 、记事本 java源码 记事本 java源码 记事本 java源码 记事本 java源码 记事本 java源码 能用的哦
【java面试题】java面试宝典基础知识版。是java语言最基础的知识,是java编程永不过时的的思想理论。适合初中级java工程师使用。
第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6...
MicrosoftSignalrJavaSDK的Gradle兼容编译版本[过时]_Java_下载.zip
此应用程序将检查您计算机上的 Java 版本。 计算机上过时版本的 Java 会带来严重的安全风险。如果发现了过期版本,则此工具可帮助您删除它们。
使用DOS命令进入InstallCert.java 存放目录 运行 javac InstallCert.java 将InstallCert.java 编译成 .class文件 在运行 java InstallCert smtp.xyz.com:465【其中xyz是要使用的mail,例如:smtp.126.com】【465是...
去掉了EJB 2.x、JSF等无用内容或过时内容,补充了数据结构和算法、大型网站技术架构、设计模式、UML、Spring MVC等内容并对很多知识点进行了深入的剖析,例如hashCode方法的设计、垃圾收集、并发编程、数据库事务等...
对java方法按包划分,并且列出已经过时的方法等,并且层次结构非常分明
2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,原创作者精心整理,在修订的过程中,参照了...
在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x、JSF等无用内容或过时内容,补充了数据结构和算法、大型网站技术架构、设计模式、UML、Spring MVC等内容并对很多知识点...
一门永不过时的编程语言——Java 软件开发。 Java编程语言占比: 据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以1000万的程序员数量位居首位。 而且很多软件的开发都离不开Java编程,因此其程序员...
该资源为阿里巴巴java规则(详尽版)对应的idea插件,版本为V2.0.0,开发手册参考《阿里巴巴Java开发手册(详尽版).pdf》,里面个人定制去掉了规则“抽象类命名应以Abstract或Base开头”,“单个方法的总行数不超过...
想学java的同学可不要错过哦,虽然书不是最新版本,但是java知识可没过时
java8出来之后,也自己系统学习过java8新特性,但是感觉条理性不够清楚,这次做项目多次用到java8的stream流操作,所以做了个总结
java的实例10个 源代码 供大家参考 从桌面软件到网页设计到企业项目,手游都有,可能有些已过时,但学习一下也好的
大话JAVA性能优化,虽然有些地方可能过时,但是还是可以一读
JDK作为JAVA环境的基本工具,JDK1.5虽然有点过时,但是其本身运行稳定等深受好评!!!