2006-10-24

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

关键字: ruby 软件工艺
最近关于ruby够提高开发效率的问题讨论的热火朝天 。我也插两嘴。

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

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

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

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

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

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

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

何况ROR提高的效率真的是微乎其微么?
评论
kevinming 2006-10-29
我个人觉得还是要看具体的开发应用。每种语言都是自己的生存空间的。
这样泛泛的谈ruby/ROR的好处,但目前开发效率高等优势来说还是局限于某个应用领域而已。
bd7lx 2006-10-27
不要人云亦云

Ruby和Rails怎样,好多人在听别人说, 等着别人说

实际是观望的多

想象中ruby和rails会替代java, 想象中可以象美国一样书的销量会爆炸式的增长

董彬的态度在提醒要有耐心, 实际做些微小的能改变的实事
javsky 2006-10-27
前面看了网上说的ruby效率很高,经过robbin的实践证明,效率还是不错的,至少在小型的web上应用已经是很不错的了.
其实也正如大家说的了,什么语言只是工具而已,做好软件才是最重要的事情.所以小弟也开始学习ROR!
第一次在这里回贴,呵呵!看了大家的帖子,小弟很受教!
kimfly 2006-10-27
ROR带来的好处不容置疑,用过的人都知道。ruby和java之争,与我们有关吗,选择自己合适的就行了。
hk200 2006-10-27
我也同意我们淡化主义之争,强调实战,因为很多问题需要有人去不断的尝试才能确定一个切实可行的方案,前期主义讨论的多了,实际做的人就没有了。
有些人喜欢讨论,有些人喜欢做。或者兼而有之,我们还是把精力放在实干上把。
lighter 2006-10-26
没有调查就没有发言权.
喜欢java,但也惊讶于RoR的开发效率.
dongbin 2006-10-25
dali 提醒我了,真的不是精华了。这个功能我还真的没见过,下次知道了。呵呵,谢谢。
bd7lx 2006-10-25
董彬可能有些误会了,上面的我提到了该帖子没有对该帖子表示任何的不满意见,但是精华贴已经评上了,令人疑惑的是改了标题和内容还是原来的精华贴吗?

这和Ruby也没关系,网站这么设计的逻辑是?

骑马的女孩可以说中文了,真好
Godlikeme 2006-10-25
apple 写道
我个人认为ROR是很好的东西,除了据说是日本人的产品外。
不过任何东西都有它的适用范围,比方说著名的牛三定律一定是正确的吗,开发上的东西更是如此,我个人认为ROR是脚本语言如ASP,PHP很好的替代品,它对于开发小型的WEB应用来少,是很好的选择。
不过对于大型的企业级应用来说,ROR在很多方面显的力不从心,这个领域JAVA仍然是不二的选择(当然.net也可以参考),同时需要指出的是,ROR到目前为止还是初级阶段,要达到成熟还有很长的路要走。

不好意思,借用下。例如,像这种评论我从来没说过。
apple 2006-10-25
我个人认为ROR是很好的东西,除了据说是日本人的产品外。
不过任何东西都有它的适用范围,比方说著名的牛三定律一定是正确的吗,开发上的东西更是如此,我个人认为ROR是脚本语言如ASP,PHP很好的替代品,它对于开发小型的WEB应用来少,是很好的选择。
不过对于大型的企业级应用来说,ROR在很多方面显的力不从心,这个领域JAVA仍然是不二的选择(当然.net也可以参考),同时需要指出的是,ROR到目前为止还是初级阶段,要达到成熟还有很长的路要走。
dongbin 2006-10-25
我承认标题起的不好,有误导嫌疑。这篇文章主要想讨论软件的内在复杂性和次要复杂性,只要读完这篇文章的人都应该看得出来,和“问题”,“主义”没有任何关系。虚心接受大家批评
roseanne 2006-10-25
bd7lx 写道
看了讨论的过程,学到很多

发起贴被评为了精华贴,无可非议。但其内容主要是加上了Ruby标签的软件工程和开发方法论的主题。

后面跟进的与Ruby都不太贴题,对人生格言学习和做人的道理大有帮助,这里的讨论就象喇嘛辩经一样,是培养从程序员向项目经理人和管理者转型的人才摇篮,什么主题不重要,重在参与和享受过程,在锻炼中成长,长得不一定是Ruby的学问。


R 委书记 精辟总结,下周RUBY 学习,认真讨论。。。

谢谢大家!
fyol 2006-10-25
bd71x是很"实在"的 (用这个朴实的词表达对bd71x的赞扬)
有时感觉在JE混的一些所谓"老大"很虚伪,不允许别人谈入门问题,而他们却从来不讨论技术问题,整天在搞一些思想啊、主义啊、方法啊这些虚无飘渺的问题,在灌水区玩的忘乎所以

这个帖子本身没有任何有价值的东西,却成为"精华",哈哈,这年头的人都喜欢恶搞,和把诗扬搞成第一的心态差不多
bd7lx 2006-10-25
看了讨论的过程,学到很多

发起贴被评为了精华贴,无可非议。但其内容主要是加上了Ruby标签的软件工程和开发方法论的主题。

后面跟进的与Ruby都不太贴题,对人生格言学习和做人的道理大有帮助,这里的讨论就象喇嘛辩经一样,是培养从程序员向项目经理人和管理者转型的人才摇篮,什么主题不重要,重在参与和享受过程,在锻炼中成长,长得不一定是Ruby的学问。
roseanne 2006-10-25
Thanks all!

I did not know so many people knew me here.

I am a beginner in Ruby and RoR, came here to learn...

Thanks in Advance for All of Your Help...
blueoxygen 2006-10-25
刑天战士 写道
说实在的,在大、中型的软件开发中,(10人以上),ruby这种动态语言是否能够成功还是个未知数,javaeye的开发才3个人而已……

PS:竟然看到ranchgirl姐姐了,好兴奋哦~~~~~~~


这个可能就要等TW这样地先锋公司来验证了。
目前用ROR的大多是web20创业公司,这样的公司,开发团队很难大过10个人。
刑天战士 2006-10-25
说实在的,在大、中型的软件开发中,(10人以上),ruby这种动态语言是否能够成功还是个未知数,javaeye的开发才3个人而已……

PS:竟然看到ranchgirl姐姐了,好兴奋哦~~~~~~~
小天蝎 2006-10-25
哈哈 在这里也能见到roseanne:)
roseanne 2006-10-24
That is a translation of the famous serenity prayer

引用
God grant me the serenity
to accept the things I cannot change;
courage to change the things I can;
and wisdom to know the difference.
cookoo 2006-10-24
flyisland 写道
“有勇气来改变可以改变的事情,有胸怀来接受不可改变的事情,有智慧来分辨两者的不同”

帮楼主把格言补全 :)

真不错,让我自我感觉又长了点EQ
dongbin
搜索本博客
存档
最新评论