企业级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开发的时代终将过去,它的笨重早就不能适应互联网快速而多变的发展,早该死了。


其实你这么说还是片面的,你尝试到了rails的敏捷,但是rails毕竟只是web框架,Java则不仅是一个语言,更是一种环境,一种平台。而且众多的规范也在很多关键性的地方比如,事务、安全等等方面是有完整的解决方案的。
我赞同程立说的,rails虽然方便,但是在伸缩性上的确不好。你做一个简单的web应用,可能rails更好,但是像咱们公司这种,肯定是不可以的。
是啊,我也赞同程立的说法,但互联网上的100个web应用里面,恐怕用到事务的不超过半个。
不管是rails还是别的框架、语言,都处在高速的发展中,计算机上的逻辑都是一致的,java能做到的安全,为什么python、php做不到
哪怕就是伸缩性,rails这方面是差了点,但javaeye跑在rails上也虎虎生风,豆瓣的python,facebook的php,用起来都不错,谁敢说它们是“简单的web应用”?
楼主浅薄了!按程立的功力,对这种问题看的要比楼主透彻的多。之所以有开发人员觉得java麻烦,是因为java更严谨。在事务控制、安全、稳定性方面其他语言目前还没有挑战java的实力!当然,如果只做论坛或SNS这种娱乐性的东西,没有必要用java是真的,因为感觉像是用牛刀杀鸡。java之所以能够在企业级开发中,占据第一的位置,自然是有其道理的,楼主不要浮躁,安心做几年开发再说!
@火星人
其实我没打算安心做几年开发,当然,这不代表我认可你的“因为严谨,所以麻烦”。严谨不过是一种思路,既然是思路,就不应该被语言所限制。
像你说的做娱乐性的东西没必要用java,难道不是娱乐性的,就得用java了?做google做yahoo就得用java了?
说起java,好像真只有一个企业级可以拿出来当挡箭牌了
比对系统资源占用,比运行效率,比开发效率
没一点java能占前列
java本身并不是一定要复杂到现在这个样子
主要是规范标准定的~而这些就是ibm sun之类的定的
而他们一向是推崇“企业级”的
东西故意做的超复杂,java的框架都走了这个路子
导致现在复杂的过高
不过正是因为其成本高所以好捞钱
@snow
java现在似乎也有些轻量级的框架,让人感觉清爽
不过我自己实在喜欢不起来java。相比之下,还是更喜欢ruby python这些玩意
也许对大规模的开发来说,用java、xml这种东西把开发者约束起来,会更少犯错误吧