JRuby Note: 简单就是美
恩,我是一个Java中毒症患者,而且还是写了些传统程序,被传染了些OO顽疾的患者,对于Ruby这种太轻巧的东西接受起来还是有个过程的。
然而,我仍旧是个年轻人,早已坚定的支持Ruby代表的“小快灵”俱乐部,受够了传统软件工艺的铺张浪费,心存着的一点点幻想仍然让我被种种传说诱惑。
趁着一周唯二的两天不加班,研究了些JRuby 1.1.1——好吧,我就是纯粹的Java中毒症。顺便还关注了下ROX荡气回肠的季后赛第三场——然后浅浅的发现了JRuby的点点好处。
出色的SCM基础支持,小巧便捷的扩展,标准化的实现
SCM基础支持
GEM真的是非常有用的工具。Ruby毕竟晚生了几年,许多新的思路得以应用的更加完善。GEM类似于Maven的Resp,配合Rake就构成了非常好用的构建工具,连版本都被模糊化了,“我只要最新的就可以了”,是这样么?我只研究了两个小时,还只能猜猜。至于之前就听过的Raven,对于不懂Ruby的人来讲,简直比Maven还难用(我是新人,我不懂上个世纪的构建方法)。SCM早晚会成为一种标准化的事情,就像之前的Java Module被接受成为标准,每种语言形成产品都需要重视这一点。
不得不说的是ROR的DB扩展,数据迁移,在我看来,这就是很棒的数据库重构工具。重构在较小的时间段上对于软件的意义,有赶超迭代开发的趋势。而数据库重构,是其中最难最复杂的主题。虽然这不是Ruby天生的特性,但随着ROR的流行,也一定会慢慢深入人心。
模块化的扩展
Java是模块化的么,你真的确定jar和package是模块化的表现么?
动态语言天生就有这种优势,耦合和约束在非常低的水平,模块的互操作也就简单的多。加上良好的SCM,全球化的组件工厂,模块化对于Ruby,简直就是天生的完美排档。
标准化
这是一个不怎么显而易见的优点。正如标题所说,简单就是美。那么,如何简单,怎样简单?用大家都接受的概念。
用BlueCloth,HTML标签前开后闭,不用大大咧咧的程序员操心。
Wiki式的标记方法,写模板就像写文档。
学术上我们说Closure,我Ruby就实现个Closure。理论与实际尽量靠拢。“小快灵”你想要的,我最快实现。说Ajax,无非就是Autocomplete,DnD,一个单词搞定。什么,你要GoogleDoc?
前两天见了徐昊一面,于是现在对于“语言”更特质的东西很有兴趣,而所谓标准,就是直接到大多数人都觉得应该是这个样子,把一些不显而易见的东西挑明了,固定下来。当然,我说的是与钱无关的情况,虽然这种情况不存在。
完工
怨念的说,公司发调查问卷,征求个人发展计划。网上搜了搜IT认证,中国的IT培训环境糟糕的要死。高校没有软件理论,社会没有工业协作,我们的软件行业,还弱小的很呢。
