论坛首页 综合技术论坛

开发语言 vs 软件工程

浏览 3516 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2006-10-24  
最近看了java vs ruby很多这方面讨论的文章,也顺便看了很多这方面的资料。
语言毕竟是工具性质,肯定是各有优势了,不想细研究这些,一门语言学的比较精通,其他的就触类旁通了,至于到底那个好就是个人偏好的问题了。虽然现在用java,其实一直感觉matlab做科学计算才是我感觉最爽的。
读过人月神话的 ,大家应该知道,软件工程的难点在于domain model,需求,沟通,变更、管理这些方面,这里面语言所能产生的作用是再次的。
孰本孰莫呢?还是多想想怎么抓住最本质的东西吧。

我从没有对Ruby有过负面评价,我的出发点是不要把开发语言的优点、缺点看得如此的重,他们本身是同质的,真正能够给开发效率带来的提高并不大。我在这里强调了算法,是想强调软件开发的难点是现实问题的复杂性,这些才是软件开发中最大的障碍,任何开发语言遇到这个问题都无能为力。我不想比较什么优缺点,ruby我了解一点点,耳濡目染,但至少对我现在所了解的情况来说,还没有什么让我觉得ruby较其他语言有本质上的进步,大同小异罢了。我相信语言还会不断进步...,但它还仅仅是语言,是表达形式,内容才是最重要的。

http://www.iteye.com/topic/29400?page=3
在这个贴子里,robbin通过实际项目经历,展示了ruby再web项目效率上的强大,我不想把所有的功劳都归功于ruby,因为我相信整个项目团队的技术实力、经验、协作也是效率之源。但至少让我对开发语言的作用十分有限这个看法有了很大的改观,也激起了我对ruby的强烈兴趣。
   发表时间:2006-10-23  
科学是第一生产力。

但是科学也要促进生产工具的发展。
0 请登录后投票
   发表时间:2006-10-25  
反对楼主意见,我认为语言是工具。我想这一点大家都不否认,但是,工具就不重要吗?错了,工具是知识和经验的结晶,真正的结晶,非常强大和方便的重用机制。

人月神化也不能被神化,以前认为进程调度是本质复杂性,而分配内存是次要复杂性,可是现在看来,进程调度也不过是某种次要复杂性,所有的本质复杂性最终都会被工具降格为次要复杂性。当然,随着我们面对的问题不断的变换,我们会碰到不同的复杂性问题,以前我们觉得让比水重的东西浮在水面上很难,外观和样式不是什么主要矛盾,而现在我们根本不关心这个问题,我们开始研究流体中的摩擦,外形,坚固和抗风浪的程度。一个船舶设计师不会再为为什么船会浮起来而太过烦心了。
0 请登录后投票
   发表时间:2006-10-25  
术业有专攻,不同的工具用在不同的地方。

这次家里装修让我深有体会啊。
钉钉子也有电动的机器,但是是不是需要把我的榔头扔了呢?我看未必吧。。。
0 请登录后投票
   发表时间:2006-10-26  
没有这种什么比什么更重要的问题巴?基本都很重要,具体得看什么样的项目和需求有所侧重。

你提到现实的复杂性,这个太笼统了。首先有多少事是复杂的?比如javaeye这个网站的开发;又有多少事是一开始就复杂的?比如javaeye的可扩展性问题。所以不要一开始把复杂性搞得那么普遍:简单的事用简单工具来做,有复杂的事再留给复杂的工具也不迟。

其次,这世界上会有各种各样的语言(编程语言,行业用语),在各种不同的领域提升沟通效率,这就是表达的力量。这个证明太多了,比如数学发明那么多古怪符号,用大白话不一样能说明同样的‘内容’?再如你提到的matlab, 做矩阵运算和用c写肯定不一样。就算内容比形式更重要,也应该选则有更好的更合适的’形式‘/工具,杀鸡用牛刀是不符合生产率的发展规律的。

《人月》举了很多数据,但是说得是当年的项目和开发方法,对现在的以agile方式为开发哲学的web项目小团队是否适用还很难说。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics