改变你能改变的,接受你不能改变的

最近关于ruby够提高开发效率的问题讨论的[url=http://robbin.iteye.com/blog/29589]热火朝天[/url] 。我也插两嘴。

有一句格言我比较喜欢:“改变你能改变的,接受你不能改变的”。
人月神话告诉我们软件开发没有银弹:因为软件的内在复杂性是现实世界复杂性的映射。现实复杂性归咎于客观世界,属于上帝,所以软件的内在复杂性不可消灭。

但是它又告诉我们,软件开发中充斥着“次要复杂性”,也就是人为引入的复杂性,这种复杂性是可以消灭的,并且Brooks也很高兴的发现面向对象技术的发展对降低次要复杂性功不可没。这种次要复杂性表现在哪里呢?比如hibernate的hbm 文件,struts的formbean,Java匿名类的恶心语法。

Godlikeme的观点我很同意:现实复杂性是项目的最大障碍。可是如果现实复杂性的客观世界本身的复杂性的话,那不正就是客户的业务问题么,与其说是障碍,不如说是目标。这个Cost是无论如何不能消灭的,也就是“接受你不能改变的”。

可是实际项目中,除了现实复杂性,还有一些我们能够克服的次要复杂性。更少的代码量,更快的部署时间,自动化的单元测试和验收测试都是解决次要复杂性有力手段。

Godlikeme也承认ruby开发效率要快一些,但又说这是微乎其微的,“以至于”用不用ruby都一样。这是典型的否认[url=http://dongbin.org/articles/2006/10/23/analize]定量 分析问题[/url]的手段。既然ror能够提升效率,哪怕只是一点点,有什么理由不接受呢?莫以善小而不为啊!假设我有和你一样解决业务问题的能力,那么我使用一套高效的开发工具,就会用较低的成本打败你,事情就这么简单。

以定量的手段降低项目成本是一个开发者的基本素质。

工具之所以重要,是因为他所代来的效率的提高几乎是无代价的!如果你掌握了他的话。从这场口水战中我发现,ruby这一方大多数掌握了ROR和java,而java这一方却不是。

何况ROR提高的效率真的是微乎其微么?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值