发信人: bency (回家了…………), 信区: Npsos
标 题: 软件开发的哲学思考.1
发信站: 哈工大紫丁香 (2003年01月18日14:34:49 星期六), 站内信件
软件开发的哲学思考.1
译者注:这篇文章虽然年代久远(1996年写的,对于IT行业来说用‘久远’二字应该说还
是十分合适的),但读过之后还是为作者的才华所倾倒,这是不可多见的一篇文章。
卡纳杰-米龙软件开发学院及其它学院的研究人员用尽毕生的精力去定义一个理论学科(
即软件开发理论),到后来才发现仍有很多东西比较模糊,他们对此也不隐瞒。软件开发
,自从产生以来,它以迷人的风采征服了许许多多有才华的人,一些教授、专家学者及商
业管理人士不由提出这样一个问题:即然软件能迷住这么多人,为什么人类无法定义它、
解释它,深刻地了解它?为什么一些天才的科学家穷其一生的精力也不能把这些迷惑归纳
成一种科学工程学科或行业标准?
我们当中的大部分人,特别是商人、工程师及学术机构研究人员把计算机与软件看成一个
非常普通的东西,他们用各种荒唐的方式同计算机交流,计算机对来自用户的威胁与谴责
充耳不闻。软件无处不在,然而软件却常常表现为失败、罢工及不正常,这主要有两方面
原因:一是程序失败,就会导致文件定义不准确,最后软件表现为罢工、不正常;二是一
些软件开发主管胡乱指挥,逼迫软件应用一些华而不实的技巧来实现主管们不切实际的想
法及美妙的空想。
缓慢的软件开发与互联网访问占用了人们大部分时间,尤为重要的是,这两方面在当代都
容易使人上瘾。一旦上瘾,正常的人也会成为文件处理、文件上载及下载的奴隶,这种情
况大都要归结为管理它的软件具有一定的缺点。这时不得不让人疑惑:我们能盖摩天大楼
、能造速度很快的赛车及高性能电子产品,我们甚至能理解量子力学及亚原子,那为什么
我们不能开发出高质量的软件?
【神秘背后的真相】
软件开发的本质就是基于人类思考的一种心智活动,计算机及运行其上的软件就是人类大
脑活动的一面镜子,因此软件开发同样也面临心理学与精神学所固有的一些问题。众所周
知,心理学的所有目的不外乎去了解人类难以捉摸的灵魂,一些医学专业人员研究这方面
。软件开发与之相比,情况可能会更糟糕,因为软件开发毕竟只是人类智力活动的一个模
型,它来自于人类的智力思考。不管你承不承认,智力活动只是灵魂行为的一部分。
从相当多的方面来看,软件与心理学的关系要比工程学、技术及数学的与心理学的关系要
近的多,这是因为软件直接来自于人类灵魂的思索,上等的软件常常要借助于灵魂的创造
性。与艺术相比,软件缺少了艺术之美;与自然科学相比,它缺少一点正规性。此外,软
件永久只能是软件开发人员的心理模仿。
软件折射出软件开发者心理活动,很多因素都会对此心理活动起作用如:开发者本人、开
发环境以及系统。开发者本人是指开发者本人在开发软件过程中会有一些心理活动;开发
环境是指所有的计算机硬件、计算机软件及开发软件的流程;系统包括所有人、全部开发
环境、零部件、组织关系以及有助于达到目的的其它事物。
软件如人一样易变灵活,它受智慧、想像力、恐惧以及希望等诸多情绪的影响。它折射出
开发者的观点、对目标的理解、对客户的感情、概念的敏锐性、高深的思想、权威的尊敬
等等。如果你想用计算机制造一个比较好的产品,软件开发是核心,它代表着整个系统的
精髓之所在。到底是什么赋予软件产品独有的格调与感觉,按照人类的观点来说:是个性
。
【毫无生气的个性】
软件有个性吗?如果你问我这个问题,我会脱口而出:当然有了。因为软件开发完工时,
将会形成一套用于交流、内部分析逻辑、视音频支持及内存的一套词汇。从当代技术的观
点来看,这些资源在理论上是没有限制的。问题出现在什么地方?问题就出现在由其开发
者所规定的乱七八糟的规定上。软件开发人员,刚开始不受它人影响,后来随着规模的扩
大加入了外来一些计算机高手,以及一个瞎指挥的部门负责人,这一切都会打乱开发人员
的工作。
首先我们要指出的是词汇是必须的,不管是用于外部交流还是用于内部交流,词汇是构成
思考模块的基石,如果一个人没有词汇他将无法思考,人类之所以能同冷冰冰的机器交流
但又是什么地方出了问题?首先,虽然计算机具有能理解无限词汇的潜能,但它的人类主
人通常情况下是有限制的,所以人类认为任何事情都要尽可能简单短小,这竟味着性能很
高的计算机也必须委屈一下向能力不大的人类看齐;另外,如果软件拥有很大的词汇量,
则它肯定会变得很大、很复杂,难于理解、开发与维护。所以虽然计算机有无限的能耐,
但是也要套上开发者为其准备的金箍咒。
--
我知道你相信你明白了你认为我所说的是什么,但是我不能肯定你是否意识到你听
到的并不是我所指的意思 ......
--
郁闷
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 210.46.72.251]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.703毫秒