频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

动态语言,别再轻言不

作者: 孟岩 出处:天极博客  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2006-10-17 13:26
关 键 词:Ruby  Rail  C++  Java
阅读提示:本文生动地利用小寓言故事的形式分析了动态语言的发展现状和趋势。

相信很多人都听过一个禅宗故事,说是两个僧人赶路,趟过一条小河的时候,看到一个漂亮的少妇困于其中,向他们呼救。其中一个有心施以援手,但想到佛家的色戒,便犹豫起来,不知如何是好。可另一个和尚却大大咧咧地冲过去,抱起少妇,趟过小河。于是前者的心里就很不舒服,一路上闷闷不语,后来实在忍不住,就问自己的同伴,既然身为佛门中人,怎能不顾清规戒律,如此轻薄。然而那位和尚却回过头来,淡淡地说:“我已经把她放下了,你还抱着呢?”

也许不太贴切,但是这几天中外豪杰们围绕Ruby和Rail爆发的口水战,让我不由得想起这个小故事。

前几天著名大嘴Joel Spolsky在自己的一亩三分地里对Ruby进行了FUD性的攻击,引发互联网上一片口水战,Ruby之父matz和Rails之父DHH都卷入其中。似乎是要与此相呼应,在国内技术论坛上,这几天围绕Ruby的争论也突然攀登新高峰了。国外的大气候和国内的小气候都有共同特点,就是站在传统技术立场上的人对于RoR的火爆看不下去了,首先站出来发难,从而引发Ruby支持者们的回击,然后双方厮杀在一起,连带旁边相干不相干的看热闹的、拉架的、含沙射影的、慷慨激昂的,瞬间就浩浩荡荡,横无际涯了。

而争论来争论去,无非还是Ruby的性能问题、可用性问题、前景问题,等等等等。

可能是老生常谈了,但倒R派的观点让我想起多年前我们这些C++ fans对Java的鄙视言论。那个时候C++程序员们说,Java只能用来在页面上用applet作一些可笑的小动画,Java只能对对火柴棍排序,Java慢得像牛车,Java有内存泄露,Java狂耗内存,Java愚蠢的弱类型容器可以把鲸鱼装进一个笔筒,Java居然没有指针,Java做不了系统程序设计,Java写不了操作系统,Java解决不了我手头的超超级复杂的巨牛无比的难题,诸如此类,不一而足。冠冕堂皇的理由可以找出一大箩筐,但大皮袄下面无非就是一个“私”字而已。骨子里的想法是,我费了好大的牛劲才混了个C++三品顶戴,你Java一闹腾,就把我的似锦前程给搅黄了,怎能不妒火中烧,羞愤交加?

可是这些年过去了,当时我们吐那点酸水起了什么作用了吗?Java统治了企业计算,统治了手机应用开发,统治了大学教育。不但如此,Java在开源领域里也如日中天,借Eclipse之威在桌面应用中也占了一座大山头。一些传统上属于系统程序的项目,比如编译器、语法分析器、高性能的服务器软件等等,也大量转用Java开发。不错,Java还是不能用来写F-22战斗机的火控系统,但是这跟我们这些坐在cubic里写民用软件的家伙有个鬼的关系!人们对于简单、标准化和生产率的要求不可阻遏地突破了早期对Java筑起的FUD防线。面对Java的空前绝后的成功,我们这些当年曾经对革命力量翻白眼吐舌头的家伙,在沉默的面对现实之后,已经完成了一次观念上的涤荡。我们已经认识到,技术的发展趋势是不以个人利益为转移的,干这行就要有顺应技术大潮的勇气,要有不断破旧立新的魄力。我觉得我已经放下了曾经有的那种盲目的固执和一厢情愿。

然而时间没过多久,随着Java成长和腾达起来的一代人(其实不少也就是我的同龄人),又开始重蹈覆辙。面对以Ruby为代表的新兴动态语言的蓬勃发展,他们也有点坐不住了。靠革命起家的人最怕革命,当年的下里巴人翻身做主了,摇身一变成阔佬了,就开始对新的革命力量摆谱使脸色,甚至以FUD战术加以弹压了。与当年如出一辙,手段还是以攻为守,情绪还是慷慨激昂,笔法还是义正言辞,什么Ruby未经验证啦,什么Ruby性能低劣啦,什么Rails可扩展性不佳啦,什么Ruby不能解决“大型的”、“复杂的”、“企业级的”、“高性能的”问题啦。最要命的是,哪怕自己90%的时间不过是在字符串处理,这些阔佬们也还是一致宣称自己做着世界一流的、大型的、复杂的、企业级的、非Java不可、没Java不行、没Java就要上吊抹脖子跳楼挖坑的巨牛无比的大项目,听着让人心惊肉跳兼之无比崇敬。你说Java还能火几年?我说怎么也得5年!5年?那是上升期!少说十年,后面还有平台期。你还别不服,反正我退休之前Java说什么也别想凉下来,谁也别想威胁我的顶戴花翎。企业级啊,架构师啊,经验啊,高手啊,我混成这样我容易吗我?谁冒出来我就跟谁急,我就用口水淹死他!

可惜,这些大话对于我这种记性不幸没那么差劲的人来说,太似曾相识了,让我一眼就看出这言论背后的“私”字来。想来也真是轮回,当年我们C++这一批人放下的东西,原来你们Java这一批人还抱着呢。不过,技术的大潮真的是后浪推前浪,往后看吧,我相信,当年C++挡不住的东西,今天Java也挡不住。大趋势已经摆在这了,接不接受、什么时候接受,那是个人的问题,但是总体的发展是无可逆转的。

Ruby的兴起,其实只不过是一个积累了几十年的技术趋势的能量释放。世界上第二个程序设计语言Lisp及其后续家族成员都是最最动态的语言。早在七十年代,伴随着图形界面的出现,Smalltalk就以其纯粹的面向对象和纯粹的动态性获得有识之士的认可。自1986年代Perl出现以来,大量开发者就认识到,动态语言开发效率高,限制少,能够自由的表达思想,轻松完成在传统语言中非常困难的工作。很多人都预言动态语言迟早会成为主流。然而在整个1990年代,无论是计算机硬件条件还是软件工程的水平,都还不够成熟,再加上Perl自身存在一些问题,动态语言始终只是作为主流语言的一种有力的补充而存在。2000年之后,PHP大流行,在Web开发领域三分天下有其一。但是PHP本身完全是为Web而做,当扩展到其他领域时,就凸显出先天不足的劣势,因此地主稳坐,霸业难成。直到现在,无论是硬件条件、软件开发的方法,还是客观应用环境都逐渐成熟,在这个时候,Ruby借Rails框架赢得广泛关注,当然不是偶然的现象。在TIOBE全球程序设计语言排名表中,Ruby排名一年间跳升15位,而根据O’Reilly公司对于图书市场的统计,Ruby相关书籍的销量在2005年增长15倍的基础之上,今年又增长了7倍,已经超过Python和Perl。再看看是谁在关注Ruby,抛开一手把Ruby炒热的“Pragmatic Programmer二人组”Dave Thomas和Andy Hunt不说,一大批编程老枪都在尝试或者已经转向Ruby,这其中的著名人物包括Robert C. Martin、Martin Fowler、Bruce Tate等。如果这些还不够令人印象深刻的话,我们应该注意一下近期有关Ruby的一些事件。最近Sun雇用了开源项目JRuby的两名主要开发者,让他们可以全职开发JRuby,从而正式将Ruby语言搬上JVM。同时,微软也在上个月的一次有关.NET语言的技术会议上邀请RubyCLR的主要开发者John Lam发表演讲,外界传言他将加入IronPython开发者Jim Hugunin所在的团队,从而加速Ruby for .NET的开发进程。另一个致力于Rich Internet Application的软件巨头Adobe于几天前刚刚发布了用以将Flex 2.0整合到Ruby on Rails中的SDK。对于那些整天盯着巨头们脸色行事的人来说,这些消息就算不是金口玉言,至少也是明确的迹象了吧。

然而,比上面一切都更为重要的是,今天的世界已经变了,已经不是15年前C++统治一切的那个世界,也不是10年前Java中彩票的那个世界,甚至也不是5年前Visual Basic狂练葵花宝典的那个年代。互联网改变了太多的东西,经济形态和公司业务的形式和途径都已经并且仍在发生迅速的、根本性的变化。开放、互联、敏捷、整合、平等、自由、高速、专业,所有这些给我们带来了新的经济运行模式,也对软件的开发提出了新的要求。Ruby,以及Ruby所代表的一类动态的、自由的程序设计语言和开发思想已经迎来了它们的时代,它们将和其他的科技一起,在下一个轮回中改变我们的工作,改变我们的生活,改变我们的观念,直到下下个轮回将它们扫进历史的功劳簿中为止。

所以,该放下的时候,就勇敢地放下吧。当然,如果想再跟发展大势打一打,那就打一打,反正在技术进步的路上,保守的一方终究是要被解决的。

(责任编辑 火凤凰 sunsj@51cto.com  TEL:(010)68476636-8007)


发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看52371次)
·UML类图详解 (查看46839次)
·Java编程开发手册 (查看25118次)
·UML统一建模语言 (查看24099次)
·C#技术开发指南 (查看22406次)
·Java编程开发手册 (1195个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (304个砖)
·PB开发教程 (220个砖)
·.NET开发手册 (217个砖)
·Java编程开发手册 (653个好)
·Java基础教程 (569个好)
·.NET开发手册 (251个好)
·PB开发教程 (209个好)
·Delphi开发技术手册 (174个好)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有