computer 版 (精华区)
发信人: remember (Learning C++), 信区: program
标 题: 讨论(5)
发信站: 听涛站 (2001年10月12日18:18:38 星期五), 站内信件
原文(potian于2001/08/29 22:42粘贴)
回复: 再论Dennis M. Ritchie,Richard Stallman,Donald Knuth告诉我们什么
------------------------------------------------------------------------
--------
>你这里所提的这些人都是大师,虽然他们也在编程,但他们与我所说的“软件
>民工”最大的差别在于他们搬的是第一块砖,他们盖的是第一座楼,如果没有
>他们开创性的工作,工程师们是如何学会盖楼的道理?民工们如何掌握盖楼的
>技巧?所以都是“搬砖头”,他们就可以得奖,因为他们是整个领域得第一
>人,他们是科学家!不光是软件业,其他传统领域的已经由大批工人进行生产
>的许多产品,它们的原型不都是由发明它们的科学家亲手做出来的吗?甚至其
>工艺和流程还不如现在的流水线工人所生产的产品。
他们不但盖的是第一座楼,他们还一直在编程。Donald knuth这么大的年纪了,最
近还在编程,看看他的主页,有时候甚至连我都不能理解它为什么要编写如此简单
的程序。一个理由,我猜测,停止编程,就是停止学习。《The practice of
programming》的作者,Ritchie的合作者brain w.keinighan整本书都在讲一些没
有去编过程序永远不可能理解的东西。第二,我永远相信大师的作品永远超过平凡
人,不然它就成不得大师。软件的元素都成了砖块了吗?这些如此标准化
的砖块在软件行业到处都能找到了吗?同样的还有Ritchie,他们从来没有停止过
。Tomphoson也一样
>如果中国的软件工程师都可以做到这种层次,那我们大可不必认为我们不如印
>度。但事实是这样吗?可能是这样吗?中国多的是无法得到正规高等院校计算
>机教育机会的人,印度也一样。但不同的是,世界公认印度的软件工业很发
>达,在世界软件工业品市场上印度的地位举足轻重!而骄傲的中国人自己都认
>为自己做出的软件都不能以工业品相称!
我很早以前(1992年)就听说过印度的软件在中国的银行系统内部很有市场,我一
个中科院的同学一直在改装印度的软件。讲老实话印度软件究竟有多少发达。我不
知道,他们到底是不是高中生都在编程,我也不清楚。但是我现在有不少以前的同
时在日本企业工作,他们的设计之详尽程度就算是你从来没有学过计算机都是可以
的,所以我相信印度可能是在使用高中生编程。但是,这引发的另一个问题是作设
计的人必须能够把设计结果写到无法细分的程度。譬如,界面、数据库字段、一个
鼠标的点击、一个按钮,颜色等等。我不能想象没有天天在编程实践的人能做到这
一点。并且,现在我所有看到的日本人的软件从技术上来讲都是极差的,没有面向
对象的思路,没有新技术的运用,想必是设计人员实在没有工夫去编写程序了。设
计人员这么大的工作量有如何去管理呢?
所以,我没有看到过哪一个流行的软件是印度的或者是日本的,因为他们把软件看
作砖块,能够造房子,但是房子的质量太差、房子的可扩展性太差。没有美国人的
开创工作,他们永远在原地踏步。所以我说,印度永远超不过美国。说的难听一点
,永远都吃美国人剩菜剩饭。
当然,市场还是有的,譬如中国的低档家电不是在美国也卖得很好吗?
>同样是做过多年CODING,我真的不理解我们有些同行为什么要极力将编程神圣
>化,自然就个人兴趣爱好来说,大师完全可以去标榜自己的实际动手能力,正
>如将军当然可以标榜自己的枪法,但如果因此而不讲究分工协同,军队哪里能
>打胜仗?一个行业又怎么能够实现产业化?难道你们对自己再上一个台阶就一
>点信心都没有?如果你们再日常编程中需要自行分析和设计的成分太多,那只
>能证明你们公司的软件工程管理水平不够,项目管理、分析、设计和编程之间
>的职责耦合性太强,真的需要好好地对相应职责进行抽象。
我不清楚你用不用Unix或linux,难道Gcc真的是一个玩具?Emacs是一种标榜?
tex格式没人使用?HotDraw图形工具不是一个完美的框架?Junit你不是天天在用
?这些都是标榜?
下面大多数你讲的是正确的。产业化是需要的,分工也是需要的,但是我的论点是
那些希望自己成为分析、设计人员的人,永远不要停止编程,甚至比别人编得更多
,因为你有更敏捷、smart的实现,你可以更轻松地完成别人要很长时间才能完成
的任务。你能够积累更好的方法学,不然就只能原地不动。
一个小小的故事,C3项目在使用Unit Test ,Continuous Integration 发现每次测
试化的时间太长了,他们求助于kent beck,结果他坐下几分钟就让整个测试时间大
大减少。没有长期不断的实践经验,可以吗?
最后,我要讲的就是,RUP是前人的成果,我们需要学习。但是在我看到的所有除
了rational公司以外的oo方法学家,都告诉我们UML是好的。但它主要用于加深理
解和交流。他们也告诉我们,没有一种方法学能够解决所以的问题。要思考、要去
应用,要灵巧,要有脑子(analysis pattern,the art of programming,smalltalk
best pattern,agile software developement),难道这不是前人的经验?
当然,我也痛恨没有理解一样东西就想自己搞花样,但是老实说,到底有多少公司
在从头到尾用RUP。我相信在Rational内部也是不会的。我在其它贴子中讲了很多
对UML和方法学的看法。我们可以开设一个专题来讨论,RUP中那些东西在哪些场合
试用、哪些是真知灼见,哪些是商业运作,那些是可以实际超作可用的,那些有是
用来骗人的。如果一个人说不出好处、另外一个人可能觉得他用得很好。我希望这
样的讨论时切实的,实事求是的,是经过实践的,是经得起考验的。
但是,最后,我还是要说,不要忘了编程,除非你准备做一个软件企业的管理人员
(不是分析员、设计人员)。也许你讲的是中国缺少这些人。对我来说,我只想好
好作我的分析、设计和程序。
谢谢你的想法!
--
洛阳亲友如相问 一片冰心在玉壶
※ 来源:·听涛站 tingtao.dhs.org·[FROM: 匿名天使的家]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:0.932毫秒