随笔 - 115  文章 - 481  trackbacks - 0
<2006年6月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用链接

留言簿(19)

随笔档案(115)

文章档案(4)

新闻档案(1)

成员连接

搜索

  •  

最新评论

阅读排行榜

评论排行榜

  “Java产生于网络”,这是几年前java程序员一直津津乐道的话题,伴随着互联网的蓬勃发展,Java也曾有一股气吞山河,一统天下之势。然而今天,我们看到PHP占领全球网站应用的大半市场,Microsoft的ASP及.net占领了很大一部份市场(看看国内的各种网站、看看中国的党政网),还有其它Web开发语言也占据了一部份,最后剩下给Java可谓寥寥无几。PHP正在以他深得人心的简易开发优势快速扩张,如今又冒出个新贵Rails/Ruby在后面耀武扬威宣称要替代Java、消灭Java。我们不禁感叹:Java路在何方?

   成也萧何,败也萧何。我们认为,造成Java今天之局面的一个主要因素是Java技术的极度灵活,Java技术领域的“有组织、无纪律”。动不动JCP就给你搞一个Specification,管你怎么去实现;Java开发社区TTS及sourceforge.net每天都有新的框架或开源产品发布,最终这些技术及产品到其使用者(软件企业及程序员)手里时,他们根本不知道该如何选择。你不跟潮流别人就会笑话你古董,而且最让java程序员烦恼的莫过于昨天才辛辛苦苦掌握并引以为豪的新技术、新框架,今天就被别人嘲笑你所学会的东西已经落伍、老掉牙。

   另外,Java技术的“强大功能”及其“复杂性”也是造成Java应用步履蹒跚,举步为艰的一个不可忽视的因素。功能的强大是以技术的复杂作为代价,一个功能强大的系统总是由众多简单的小系统堆积而成。我们以为:“简易、实用才是硬道理”!再强大的功能也要以实用为基础,脱离了实际应用便是空谈乌托邦。如果实际应用中不可能用到,那我们又何必花那么多的精力煞费苦心地去搞那么多的设计及构架,(又何必点灯熬油挥汗如雨地去建一个很难登上的空中楼阁呢?)纵观今天java技术的应用,复杂得有点离普。一个简单的Web应用动辄就要戴上N层高帽,Web使用Struts(JSF)、持久层用hibernate(JDO/Entity Bean)、还引入了Spring或EJB,要IOC、AOP、支持任意数据库、支持任意存诸方式、支持组件对象关系任意配置、支持Web Service……如此琳琅满目的技术,如此强大的功能,想不复杂?难啊!时至今日,又有谁能象当年IBM总裁郭士纳一样让Java这个庞大,复杂的大象也能跳跳舞呢?

   Java在国内不能得到很好应用的一个主要原因是国产Java技术落伍。在Java世界,开源、优秀的东西很多很多,但基本全是泊来之品。也只有那些技术牛人、大型软件企业、外资企业,才有实力研究并很好运用。当前还有众多的中小型软件企业停留在JSP+Java Bean的时代,很多中小企业甚至老牌软件企业的CTO或者项目经理到现在还常理直气壮的说:"客户不就是要求J2EE平台吗?我们的JSP、Tomcat、JBoss不全是J2EE技术吗?”是的,软件嘛,能解决问题就行,好不容易花了两三年搭建起来的技术体系,说换就换,哪有那么容易啊!于是,软件越来越难以维护,越来越难以扩充,更加无法满足客户的新需求。

   再看国内很多比较知名的软件企业提出的一些新开发构架、开发体系、中间件及工具等,其基础核心仍然是国外引进的东东。比如很多软件公司开发的快速开发工具,构件开发等,都是以Struts、Spring、Hibernate等为基础,也就是要用他们的工具,开发东西还得要学Struts、Hibernate等。对于国内很多的初级开发者来说,学习这些框架的难度曲线太大。技术本土化不仅仅是把一门语言翻译成另外一门语言,更重要是思想的本土化、核心内容的本土化。

  说到技术及框架,一个国外的先近技术框架,都是别人先尝试用了N久证明了它的先进以后,我们国内才有一部份人拿进来开始慢慢学习,然后再宣传普及,等我们大部分人刚刚学会并以此为荣,奔走相告的时候,人家又搞了一个更加先进的出来。汗颜啊,难道我们只能疲于奔命地被人家牵着鼻子走吗?

  。。。。。。
  
  (本文摘自《EasyJWeb简易教程》,作者为大峡、眸宽、stef等EasyJF开源团队成员,转载请保留作者声明!)
posted on 2006-04-18 15:18 简易java框架 阅读(10232) 评论(34)  编辑  收藏

FeedBack:
# re: Java路在何方? 2006-04-18 15:58 hecules
"Java在国内不能得到很好应用的一个主要原因是国产Java技术落伍"不同意这句话,看不出国内java落后的现状与国产java技术落后上有什么逻辑上的关系。我想如果一个程序员不能克服语言上的障碍,那他还是不够合格的。个人觉得国内的现状主要还是整个大环境所致,客户的需求再那里放着,企业间血拼成本,程序员的水平都限制了这个行业的低水平,更不用说一个项目能否拿到,其实打多数情况下与技术无关,倒是回扣什么的占了主要因素。  回复  更多评论
  
# re: Java路在何方? 2006-04-18 16:42 大峡
hecules 说到点子上了哈,软件行业的市场、公关等就不用细说,就凭民间流行的一句话:“80%软件公司都是骗子公司”,应该能证明很多东西。这更多应该跟我们所处的的大环境有关系。

  不过我觉得技术落伍还是有很大一部原因,国内很多中小型软件公司的CTO,35左右的那种,停留并满足于自己前期的开发构架,不愿接受新东西,更不会花成本去尝试新东西,应该也是落伍的一个表现吧。



 

  回复  更多评论
  
# re: Java路在何方? 2006-04-18 16:43 大峡
“因为我们浮躁,所以我们没有发明C/C++、Java、Ruby,甚至面对Spring、Hibernate,我们也只有膜拜。”
  回复  更多评论
  
# re: Java路在何方? 2006-04-18 18:11 steeven
楼主写的不错~

Java要失败是迟早的事情,毕竟已经风光这么久了,依靠sun一家公司的带领,动作拖沓。但是淡出市场不是一朝一夕的事情,php从原理、语法、开发工具上都无法媲美Java, 为什么还高居市场?个人觉得是它的残留市场。

另外,php对虚拟网站良好支持也很重要,在国内jsp主机很难找,php满地都是。都是sun的那些书呆子惹的祸。

java的活力不仅仅在web市场上,在电信、银行等等很多传统行业上,java暂时还是无法取代的。

个人觉得,开发效率决定语言和框架。我选择java首先看中功能、开发工具、可维护性。为什么要在那么多框架中徘徊?因为选用框架可以大幅度提高开发效率,比如spring,hibernate,log4j等等,和跟风无关。

令人遗憾的是.net实力太强大,虽然vs2005无法同eclipse媲美,但是.net框架集成统一,开发框架和工具一致,瑕不掩瑜。

有竞争是好使,可以让java的学究们清醒起来  回复  更多评论
  
# re: Java路在何方? 2006-04-18 18:31 sharkmao
多看看SpringSide,看看别人怎么把五花八门的技术搓揉成一个整体应用的.
能做和做得好是两码事,作为软件人员扪心自问,我做出来的软件是否对得起我的用户
用JSP+Java Bean能提高生产效率吗?能提高维护性吗?能轻易扩展吗?
都说现在框架满天飞,但有必要掌握了Webwork再去学习Struts这种lj吗?
你们团队不是现在正在开发新的框架,那算不算重新发明轮子呢?  回复  更多评论
  
# re: Java路在何方? 2006-04-18 20:30 大峡
to sharkmao
  江南大侠的东东我们一直在学习哈,不旦学习SpringSide,还在学习更多的xxxSide。:-)我们的目标就是集众家之长为我所用,提炼出一套具有中国文化特色的,呵呵,这话有点空,但我想慢慢可以做实在。一个人肯定很难做好一件事情,但若是一群优秀的人一起,那就不一定了,中国什么最多:人才多,who 怕who!欢迎有兴趣的朋友都一起来干吧!

  关于发明轮子:汇编语言开发者问C的,我的汇编搞这么好了你还发明C干嘛?C问Java,我的C这么无敌,你Java搞来干什么,浪费社会资源啊。同样的问题,JDBC问,JDO问iBatis,iBatis问hibernate.......
  回复  更多评论
  
# re: Java路在何方? 2006-04-18 22:17 Vencent Chen
Java在电信行业用得好多的,
估计金融也差不多
少xxyy  回复  更多评论
  
# re: Java路在何方? 2006-04-18 22:21 hecules
再来聊聊这个话题:
窃以为,编程在中国和做科学研究一样,成为了我们生存的工具和手段,这样我们的眼光就变得短了,就实际了,就功利了,这也就是为什么我们总是在不停学习新的框架,工具的原因,没有法子啊,某公司要这个,不学怎么找得到工作呢,不会的话会不会失业呢?这样我就失去了积累的机会,没有积累,怎么能知道现有的框架的优缺点,怎么能知道如何改进业务流程呢,怎么创造新的工具和框架呢?我想Gavin King和Rod老爹不是个刚从事这行的初哥吧,为什么他们能行?
我觉得其实编程和艺术又相通的地方:和谐,美,精炼。和谐和程序你能看到每一个模块互相的交互式那么的和谐,没有多余的流程;美更是代码必有的,相信大家都很讨厌丑陋臃肿的代码;精炼,何必花大量的时间些重复的代码呢,应该拿去休息。
但是当它充满了匠气的时候,创造力也就远去了。
  回复  更多评论
  
# re: Java路在何方? 2006-04-19 09:10 Raistlin
大家都在学标,不学本,大家都在谈标,不谈本。  回复  更多评论
  
# re: Java路在何方? 2006-04-19 09:43 mk
@sharkmao
struts是垃圾?你怎么不做一个好的?你不会不知道这世界里是市场决定一切吧?要不大家现在都用的是ibm或苹果的机器了,操作系统也不都是ms的了  回复  更多评论
  
# re: Java路在何方? 2006-04-19 12:33 大峡
  存在即合理,去年我们招人的时候,他要说会用webwork、会JSF,但不熟悉struts,我还真不敢用他啊,毕竟我们90%的项目都是struts啊!

 框架充其量只是工具,MVC更是如此,若真掌握了MVC原理,会了一种框架,若工作需要你学习另外一种框架的时候,难道一周56小时,你还不能学会吗!

 会Spring、会hibernate、会MVC,熟悉、精通又能怎么?用最少的钱、人及时间,解决老板、客户问题才是硬道理。若论技术,有兴趣的朋友不防对照本人愚作“论J2EE员武功修为",自测一下。
    回复  更多评论
  
# re: Java路在何方? 2006-04-19 12:41 大峡
# re: Java路在何方? 2006-04-19 16:04 与神对话
学Java真他妈的很郁闷,好容易熟练应用一种框架,结果没用多长时间就落后了,只能继续学习新的框架技术!本人强烈支持楼上的看法  回复  更多评论
  
# re: Java路在何方? 2006-04-19 16:12 sharkmao
去年我们招人的时候,他要说会用webwork、会JSF,但不熟悉struts,我还真不敢用他啊,毕竟我们90%的项目都是struts啊!

一个公司沉溺于已有的技术框架不思进去,不吸收新鲜的技术,这样的公司有活力吗?
公司一定会有技术转型,虽然会有镇痛期,但获益必然大于付出.

市场决定一切的确没错,否则ww也就不会和struts合并而且改名了.  回复  更多评论
  
# re: Java路在何方? 2006-04-19 16:26 大峡
一个公司沉溺于已有的技术框架不思进去,不吸收新鲜的技术,这样的公司有活力吗?
公司一定会有技术转型,虽然会有镇痛期,但获益必然大于付出.

这样的道理外星人都知道。老板也知道,当然也更会算帐!嘿嘿

也许是我运气比较差吧,我看到或经历的很多项目(不是全部)基本上都是这样:40%的时间及Money在市场公关、20%的时间及Money在技术开发(难怪很多程序员在闹穷)、40%时间及Money在后期维护及公关(尾款及二次开发)。哈哈
  回复  更多评论
  
# re: Java路在何方? 2006-04-19 17:52 圣手屠鸭
中小型企业不具备研发实力.大中型企业投入大量人力物力研发出来的东西当然不会当作开源被你轻易得到.所以大家都是热爱开源的目的多半是索取而不是奉献.easyif若想成功,,大牛是一定不能少的.没有大牛的东东永远都成不了东东..期待更多大牛加入.在框架未成型之前最好不要让菜鸟加入开发.  回复  更多评论
  
# re: Java路在何方? 2006-04-19 19:23 大峡
谢谢 圣手屠鸭 兄

 “21世纪什么最重要--人才”,期待牛牛的到来.......也希望团队中的小牛牛们快快长大!:-0
  回复  更多评论
  
# re: Java路在何方? 2006-04-20 15:15 steeven
我招人的时候不一样,html/xml/xslt/schema/db/rmi/ejb/spring/hibernate/dot net/....都要问问
用过没用过无所谓,关键看这个人涉猎的知识面,没兴趣的人只懂得作过的东西。合适的人不是很聪明,有经验,而是有钻研精神,告诉他回去看什么就可以了。

有过某方面经验的人写出来的代码很可能是一堆垃圾,工作起来也是吊儿郎当。  回复  更多评论
  
# re: Java路在何方? 2006-04-20 17:53 Lucifer's mystical garden
web方面的应用Java可能是不太合适,毕竟开发的便捷性差asp以及php太远了。但是企业应用还是有很大的空间的,这得益于J2EE的良好的健壮性。移动应用方面,J2ME的前景还看不太清。但是目前就开始置疑Java的前景未免早了点。
作程序员嘛,说到底是混饭吃的,不要吊在一棵树上,这样很危险的。  回复  更多评论
  
# re: Java路在何方? 2006-05-17 11:01 kiddwyl
我觉得Java在国内使用范围如此狭小的原因就是因为他的使用成本太高,BEA也指出,虽然Java的很多第三方架构都属于开源项目,而且作为Java Programmer也是追求开源的道路。
可是,就拿J2EE来说吧,他所辅助的服务和其他软件都是相当昂贵的产品化软件及服务,比如J2EE开发的大型Shoppingmall,就要比PHP开发的来得有优势的多,PHP只能适用于比较小范围的开发,小团队开发,真正的大型项目开发还是会选择以Java为基础的开发。
主要还是国内的市场环境造成的  回复  更多评论
  
# re: Java路在何方? 2006-05-22 09:22 Jsp
收获不少……  回复  更多评论
  
# re: Java路在何方? 2006-06-08 22:45 moyini
各位前辈啊..听着你们说的让我都感到害怕啊..java难道真的会被淘汰吗?我是一只菜菜鸟,还是一名在校大学生,但本人对java抱有很大的热情,尤其是jsp,近来在学jsp,可听你们的谈论不禁让我感到......我该如何是好呢?还有至于框架,我到底该学习哪个呢?我该怎么继续学习呢?望各位前辈能给我这迷茫的小弟些帮助,指导...真心的谢谢!  回复  更多评论
  
# re: Java路在何方? 2006-11-21 16:04 阿福网管
JSP+Java Bean怎么了?难道一定要用struts或spring才能做出好的框架吗?
有好多掌握了struts和spring的程序员写出来一样的垃圾代码。用JSP+Java Bean就能做出很好的框架,关键在你有没有这个能力。掌握和运用好设计模式最重要。
中国的企业和程序员都太浮燥,见一个新的东西就学,也不想想这些东西是否给真正带好好处。我个人感觉如struts这样东西就是缚束了我们的手脚,不用倒痛快。  回复  更多评论
  
# re: Java路在何方? 2006-11-30 16:19 心内求法
看了半天,有几个观点不认同:
1.我不认为java不堪到如此地步;
2.我不认为国内java水平或者说软件水平的主要弱点在于技术因素;
3.我不认为思想可以“本土化”,也就是说,我不认为存在所谓“美国编程思想”,“中国编程思想”;
4.我不认为会有既简单又功能强大的框架存在。

呵呵,你们看呢?  回复  更多评论
  
# re: Java路在何方? 2006-12-29 22:21 流浪汗
支持楼上

3.我不认为思想可以“本土化”,也就是说,我不认为存在所谓“美国编程思想”,“中国编程思想”;

观点  回复  更多评论
  
# re: Java路在何方? 2007-02-06 23:50 一啸长天
唉,我也是一名在校大学生,
学java也有好几个月了
但总感觉写起桌面应用程序,好麻烦,
也不知道接下来应该学些什么,这也学,那也要学,
哪来的那么多的时间啊。
毕竟还有两年就要工作了。  回复  更多评论
  
# re: Java路在何方? 2007-06-11 01:34 itkui
听君一席话,甚学好一阵。。。
首先要坚定学好Java的决心,没有决心是攻不下Java的。。
思想最重要,框架再多,思想是相通的。。
小弟接触Java时间甚短,愚见让大家见笑了。。。  回复  更多评论
  
# re: Java路在何方?[未登录] 2007-08-15 16:36 owen
怎么可能呀 你说的用PHP都是小型网站呀 正在巨头都是在J2EE呀 你看看电信,银行,电力 这些巨头都是用JAVA 你去看看移动的网站是用什么语言写的呀  回复  更多评论
  
# re: Java路在何方? 2007-09-03 12:44 icancms!
@hecules

其实运用一门容易驽驾的工具还是很明智的,比如php
再者我感觉java就是一个软件劳动力的工厂,学成java无疑把你带到繁琐的劳动力当中,想创新?还是别费劲了,看看从草根成长起来的phper,80后的百万富翁,java程序员你们还有什么高高在上的感觉?  回复  更多评论
  
# re: Java路在何方? 2007-09-03 12:49 icancms!
学java的臭毛病!真e

你们怎么老是瞧不起php什么的,php总有它的地位,二者无法比拟!

现在php的确很有市场,葛优说的对:还是要相信群众!

如果觉得java够底层,那建议你学汇编,自己建立平台,自己做个编译器,不用继承什么 HttpServlet !  回复  更多评论
  
# re: Java路在何方? 2007-09-28 10:48 同声传译
首先要做好一个Java技术要灵活  回复  更多评论
  
# re: Java路在何方? 2009-03-08 15:34 Java架构
J2EE 面对的客户群是中大型企业的软件业务,php则是面对中小型企业.
因J2EE技术包含范围广泛,其OOP程序模式给程序界带来了一种新颖且高效的程序设计方式.
J2EE很多大型项目都是以模块/子系统方式构建,也符合了java的特色.
众多技术层面涵盖的范围不同,应需而用则是使用J2EE技术的最高层面.
目前很多框架包括主流SSH(sturts,spring,hibernate) 他们的优点是提高中小型系统的开发效率,而面对大型公司结合多部门,多产业的大型应用系统,则是有心而无力.
在平台式语言中,唯一能够与java抗衡的是.NET. 相比之下 两者都存在众多优点. .Net技术就像MS的风格,用最少的知识和时间来开发出尽可能好的系统.
其VS开发平台的集成性,模板性,都大大加大了.NET的开发效率.
php的优点是web应用领域,而实例级的处理以及大型项目底层数据交流上,就很容易出现问题.
使用不同技术开发不同系统,则需要根据系统规模,系统侧重点来加以区分和衡量.
例如:web网游,无非以ajax和RIA为领头羊的技术,相比之下,前台程序开发语言,其实已经慢慢退化,而后台应用,如果php不进行任何深入式发展,相比争不到java/.NET战场中的一杯羹.
各种技术的存在,必然有他的理由.对于不同项目选择不同技术则是从程序员到架构师的一个从量到质的转变.  回复  更多评论
  
# re: Java路在何方? 2009-10-09 05:08 QQ情侣头像
# re: Java路在何方? 2009-10-09 05:08 QQ情侣头像

只有注册用户登录后才能发表评论。


网站导航: