Loading...

    AD: 猛买 | 快递查询 | Jobsdigg | 很棒的男装店

企业级web开发,java的遮羞布

可任意转载,但必须在醒目位置以超链接形式标明文章原始出处和作者信息
原文地址:http://www.blogkid.net/archives/1593.html

住的地方网络实在太差,每天培训的疲惫,让写blog都成了奢望。今天难得可以静下来,在公司,住的地方网络还不通,很多事不能做。好歹先写个blog。

最近一直都在培训,前天上午是公司的首席架构师程立来谈公司整体的技术架构,下午是公司里翻译《spring in action》的架构师李磊轻描淡写地讲Spring框架。

上午看到程立说在学ruby,我提了一个问题,大意就是,如果一个java程序员碰到ruby这东西,会不会带来一种冲击。得到的回答是,在企业级的应用上,在流量很大、并发很高的时候,基于ruby的rails所提供的那些方便的特性,反而成了毒药。在伸缩性上不能让人满意。

于是在下午那场,我问李磊,在一大堆web开发框架、语言迅速发展的时候,java的web开发,是不是只有企业级这一块还有所凭借,可以坚守。李老师的回答有些含糊,可能这确实也不是一个yes or no的问题。

05年我接触php的时候,看见大家都在讨论,php是不是适合做企业级的web开发。在那时的国内,asp和php以及jsp基本上处于分庭抗礼的阶段,但紧随而来的web2.0浪潮,成就了php,也成就了mysql。其实在讨论php是否适合做企业级web开发时,就等于默认了在轻量级的web开发上,php已经是个很趁手的工具了。

其实用php的网站很多,在alexa的top10里面,抛开google(这家用的东西挺多),yahoo,facebook,wikipedia,以及yahoo日本用的都是php;剩下的几个,youtube用了python,live,msn,myspace都是.net的,blogger.com没找到更多信息。遍寻java,不见踪迹。

转眼08年,关于php是不是适合企业级开发的讨论早已过去,大家在讨论的是Rails。之前是一个语言,如今是一个框架,值得承认,rails的出现影响了一代框架的设计思路。大家的观点也很鲜明(来自infoQ):

即便是对于企业级超复杂的要求,Ruby和Rails也已经做好了——至少是大部分的——准备。Rails已经像J2EE那样成熟了吗?不,远远没有。但对于那些愿意承担一定风险来提升IT效率的企业而言,是的,Ruby和Rails整装待发。

从一开始我就不那么喜欢java,所以难免说点坏话。很多人想必都有感觉,做java开发,很多时候的错误会在环境的配置上,而不是程序的逻辑上。一大摞的框架凑起来,怎么比得上rails来得清爽。还有许许多多极其变态的XML的配置文件——据robbin说,javaeye换用rails开发之后,代码总量还不如前一版本的xml配置文件多。使用脚本语言,不管是php还是ruby、python,都很少会让人在环境配置上产生疑惑,真的不知道java,怎么会这么恶心。

很多在学校里的学生,可能一学就是.net或j2ee,一上来就是SSH三步曲。我的一个同事写一个小论坛,还亮出java来做。且不说论坛系统本身就有很多,拿java做web开发,感受实在不如rails爽快。今天,还有人可以说,java适合拿来做企业级开发,比别的都强。我希望几年之后,php、ruby、python这些脚本语言可以有更多的人使用,把java这一块遮羞布,活生生地扯下来。

话说回来,java未必就没生命力,jruby、groovy这些东西,构筑在java之上,用vm来跑,还是比较好使的;一些没谱的公司,比如ibm(公司用着几个他家的产品,据fenng言,很难用),还盼着通过java赚钱;许多高校里的老师都会灌输给学生,没有比java更好的东西。但使用java做web开发的时代终将过去,它的笨重早就不能适应互联网快速而多变的发展,早该死了。

7 Responses to “企业级web开发,java的遮羞布”


  1. 其实你这么说还是片面的,你尝试到了rails的敏捷,但是rails毕竟只是web框架,Java则不仅是一个语言,更是一种环境,一种平台。而且众多的规范也在很多关键性的地方比如,事务、安全等等方面是有完整的解决方案的。
    我赞同程立说的,rails虽然方便,但是在伸缩性上的确不好。你做一个简单的web应用,可能rails更好,但是像咱们公司这种,肯定是不可以的。

  2. 是啊,我也赞同程立的说法,但互联网上的100个web应用里面,恐怕用到事务的不超过半个。
    不管是rails还是别的框架、语言,都处在高速的发展中,计算机上的逻辑都是一致的,java能做到的安全,为什么python、php做不到
    哪怕就是伸缩性,rails这方面是差了点,但javaeye跑在rails上也虎虎生风,豆瓣的python,facebook的php,用起来都不错,谁敢说它们是“简单的web应用”?

  3. 3火星人

    楼主浅薄了!按程立的功力,对这种问题看的要比楼主透彻的多。之所以有开发人员觉得java麻烦,是因为java更严谨。在事务控制、安全、稳定性方面其他语言目前还没有挑战java的实力!当然,如果只做论坛或SNS这种娱乐性的东西,没有必要用java是真的,因为感觉像是用牛刀杀鸡。java之所以能够在企业级开发中,占据第一的位置,自然是有其道理的,楼主不要浮躁,安心做几年开发再说!

  4. @火星人 :) 其实我没打算安心做几年开发,当然,这不代表我认可你的“因为严谨,所以麻烦”。严谨不过是一种思路,既然是思路,就不应该被语言所限制。
    像你说的做娱乐性的东西没必要用java,难道不是娱乐性的,就得用java了?做google做yahoo就得用java了?

  5. 5snow

    说起java,好像真只有一个企业级可以拿出来当挡箭牌了
    比对系统资源占用,比运行效率,比开发效率
    没一点java能占前列
    java本身并不是一定要复杂到现在这个样子
    主要是规范标准定的~而这些就是ibm sun之类的定的
    而他们一向是推崇“企业级”的
    东西故意做的超复杂,java的框架都走了这个路子
    导致现在复杂的过高
    不过正是因为其成本高所以好捞钱

  6. @snow
    java现在似乎也有些轻量级的框架,让人感觉清爽
    不过我自己实在喜欢不起来java。相比之下,还是更喜欢ruby python这些玩意
    也许对大规模的开发来说,用java、xml这种东西把开发者约束起来,会更少犯错误吧

  1. [...] 前些日子还在培训中的时候,曾写过一篇企业级web开发,java的遮羞布。这篇文章后面有不少反对的声音,大家都表示“支持程立”,可我并没反对程立的观点,只是觉得,java也只剩下所谓企业级的花头了。特别是有人说java是“因为严谨,所以麻烦”,我实在不敢苟同。 [...]

Leave a Reply