computer 版 (精华区)
发信人: remember (Learning C++), 信区: program
标 题: 讨论(7)
发信站: 听涛站 (2001年10月12日18:20:15 星期五), 站内信件
原文(potian于2001/08/30 14:36粘贴)
回复: 三论Dennis M. Ritchie,Richard Stallman,Donald Knuth告诉我们什么
------------------------------------------------------------------------
--------
给你一朵花,因为我对你的绝大多数看法都是认同的。
但是这里有一个思想方法的问题。工业化确实重要,但是工业化首先要有坚实的基
础。也就是一批具有高素质、高能力的程序员。理想情况下,每一个公司都应该有
一个水平相当高的分析人员。这是前提,如果不培养或者锻炼出这样一批人,中国
的软件工业就达不到一定的水准。
我所指的思想方法就是如何面对国外来的新思想、新工具和新潮流,以及如何看待
计算界认为中国软件最缺少的是工程管理人员的问题。
我的第一个观点是:对于计算机软件开发是工程、手工艺、艺术或者是心理学。我
还没有系统的看法。Donald Knuth称之为The Art Of computer programming ,
Kent Beck认为关键是Communication,Agile development则继承其思路,直接把软
件开发某些方面归入重要的人文课题。还有论者将其归入哲学,如Ritchie在接受
图灵奖的发言时,称自己的最大贡献是认识了一种关于如何让其他人重用的哲学。
第二个观点是:中国软件水平和软件工业化和世界先进水平的差距是明显的。在拉
近差距的过程中,是先做大,还是先做强。先做大,就是不管软件水平如何,编码
质量如何,只要赚到钱就好。因为能够赚到钱了,那么谁来担其提高整个软件也水
准的重担,有谁还愿意。如果是先做强,那么是不是需要培养一批高素质的领军人
物。
第三个观点是:如果当前还没有一种对软件行业一致的看法(第一点),那么我们
如何知道我们的领军人物该是什么类型的人?当然我不是指在公司营运、产品策略
方面。而是指整个开发队伍。我个人的观点是,整个软件行业要良性发展,首先要
有的思想方法是脚踏实地。也就是编好代码。像我看到的Uml.com.cn对印度软件的
介绍,说不用好的数据结构而用全部用数组,我就认为这不是什么好的东西。如果
确实如此的话,那么我建议中国取消所有大学的计算机专业,或全部改成企业运作
专业或工程管理就可以了。从这样的观点来看,中国软件行业认为自己编程水平已
经够了,现在最缺的是工程管理的论调,我是反对的。
第四个观点:学习国外的新思想是只学一家,还是博采众长。是人云亦云,还是保
持头脑。是投机取巧,还是脚踏实地。
这一个观点在中国环境下可能需要更仔细的辨别。因为很多人都想自己搞一套,譬
如我以前就听说过中国也有人搞什么建模,号称全面超越UML。我看了一下,真不
知道该说什么。这是一个极端,没完全搞清楚被人的理论,就号称超越了。
但是从这个极端走向另一个极端又是中国人的好习惯。所以,中国才那么容易造神
(看看新浪上对米卢的评价)。
所以这里面存在这一个如何去辨别的问题,我想辨别的标准就是一个,实践--也就
是编程。如果对实践有好处,那么使用它。如果对实践没好处,或者只是一种短期
的好处。那么就否定它。至少到目前为止,我认为UML是好的。但是RUP除了在流程
控制上确实不错外,一旦碰到实际问题,譬如从use case到模型,就开始出问题了
。所以,从我的周围来看,Rose变成了画流程图的工具,我几乎看不到好的面向对
象的设计。但是CRC在这方面真的很不错。还有,如果我想直接使用Rose进行
refactory,没有(或许我不知道)。但是Jrefactory可以,虽然有很多缺陷。
RUP推崇iterator开发,如果没有refactory,我不知道如何体现。而在我的观点中
,递归的增量开发几乎可以说是OO的最核心的思想。那么如何用RUP递归,但是
Extreme Programming却提供了一种极可操作的途径,虽然我没有完全实践过XP,但
是Unit Test,不断继承,不断refacotoring,我看来是目前为止最好的支持反复开
发的方法学。OpenSource的开发也取得了很成功的效果,象linux虽然从技术上来
说,很少有创新,质量却是稳定的,效率也蛮高。JBoss则是我认为我所见过的系
统程序中模块化做的最好的,具有极其高的可重用和动态扩展性。这样的开发方法
学是否也有我们借鉴的地方。
所以,我同意你关于工业化的论断,但是工业化可以没有大师,却要有领军人物。
中国虽然目前暂时还没有出现大师的环境,但是我们要做的事就是要培养这样的领
军人物。领军人物的思想应当是开放的,好学的、学习思想甚于学习工具的、重视
实践的,并且不断用实践来辨别真伪的,不断用实践来找到自己合适道路的。
BTW,我希望能够系统地讨论RUP的优劣,能够分专题,大家把自己的体会分门别类
地整理。但是,在这之前,我还是要求每个人至少对设计、分析模式和refactory
有一定的认识。
如果条件许可,大家可以合作做一些小项目,体会一下RUP,XP。
--
洛阳亲友如相问 一片冰心在玉壶
※ 来源:·听涛站 tingtao.dhs.org·[FROM: 匿名天使的家]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.768毫秒