|
Q:你迷惘吗?
A:说不清楚。
Q:你快乐吗?
A:有时快乐,有时不快乐。
Q:你思考吗?
A:是的,常常,我的项目,我的工程,我的程序,我的算法,我的代码都需要我思考。
Q:你自由吗?
A:唔,我不知道。
如果,你是一名软件从业人员;如果,你是一个希望为自己和别人解决问题的人;你是否也会有如此感受?你浑浑噩噩而又喜怒无常,你思考积极却不知道思想的自由?
在很久以前,我就开始思考这些问题;上帝在我的头上盘桓,窃窃发笑。后来,我的生活中增加了计算机软件这种东西,我的工作开始与软件密切相关,我需要阅读各种各样的软件书籍;我继续思考这些问题。
软件是什么东西?计算机是什么东西?科学技术是什么东西?我仿佛是迷路了,我听到有人宣传人工智能,给客户讲解专家系统,在各种资料中阅读软件工程,写作各种涂鸦划沙。是否,你,也有过这样的经历和感触?
经历和感触?我想起孩童时代的场景来了。那个时候,山村里常常停电,尤其是在夏夜,陪伴我们度过漫漫长夜的是一盏煤油灯和一穹的繁星;那个时候,我们喜欢呼朋引伴,在自然的夜的屋顶上,谈古论今,以及对未来人生的美好希冀。
又是一个夏夜,儿时的玩伴均已成家立业,各奔前程了;又是一个夏夜,我提着这思考的灯[①],伴着不知名的你,来到人类智慧的屋顶,信口慨叹起来了。
纵观人类发展历史,我们一直在与自然做斗争。人类通过自己的智慧弥补了大量生理上的不足,以达到其坐地收成的天性。例如,人类发明各种光学仪器来弥补肉眼在光谱、视力、持续工作时间范围等方面的不足;人类发明各种交通工具来弥补人体在行进速度、区域上的不足。人类恪守着上帝创世时的喜悦[②],从来不曾怀疑我们自身的地位;上帝赋予我们区别于世间万物的智能[③],这也是我们之所以为人的根本。
然而,有一天,我们发明了计算机,发明了软件;我们试图让人类的智慧在机器上再现,让这没有生命的机器实现我们解决问题的全部。在大话充斥的报道中,我们似乎取得了很大的成就;但是只要我们低下高傲的头,思考这软件发展的道路,会发现我们其实只走了极小的一步;而即使是哪一天,我们跨过了智慧的瓶颈,等待我们的也必将是人类的覆亡。
如此来说,软件的前途是毫无意义的了?对于这个问题,我的回答却并非悲观。只要,我们于心中牢记软件本身仅仅是作为我们与自然环境做斗争的工具,软件的发展也与其他科技产品一般前途光明。
我们看到,最初的计算机是为了加快算术运算而发明的,就这一点来说,它作为人类工作辅助工具的职能是明确的,因此其发展也是迅速的。
随着运算速度的提高,人们开始追求计算机软件在各行各业的应用。这种应用是非常有价值的,例如说辅助文字处理的字处理软件,协助管理档案的数据库软件,提高运算速度的数学软件,制作精美图片的绘图软件等等,每一种应用都给人们带来了耳目一新的感觉。
但是在我们的某些应用中却出现了问题,比如说ERP应用和软件开发应用。林林总总的ERP软件在企业的真实应用中很不理想,据我们了解,在这些软件中真正有效的是那些提高重复的体力工作效率的模块,而不是智能改进的部分。众多的软件开发模型和快速开发工具遭遇着各种各样的挑战:需求不符、项目延期、预算超支、性能低下;这一切都应“归功于”人们对软件的误解。可悲的是,这种误解很大程度上是来自于软件从业人员对自己能力的夸大,就像我们曾经遇到过的一个软件销售人员宣称的那样:“只要你能想到,我们就能开发出来,而且保证进度、质量和费用。”
由此看来,“总把新桃换旧符”的软件开发模型、方法、工具更替也就不难理解了。我们从结构化开发到面向对象,从软件工程到极限开发和敏捷开发,然后又有一天我们通过一些所谓的权威来夸大软件开发的风险和软件人员需要的正义;正好说明了我们对软件开发挑战人类智慧的恐惧。这种恐惧越来越明显了。
夜深了,灯虽然昏暗,却足够照亮我们脚前的路。明白自己在干什么,了解软件在人类生活中应该所处的位置,或许是我们反思自己行为最好的指引了。
我相信,本书并不能给你“找到问题真正所在”的万能指南,书中的案例也并不一定会在你我生活中再现;但,仅仅是作为一种思想自由的启迪,这已经足够深刻和可操作了。
田相 2004年5月写于《灯》重印时
--------------------------------------------------------------------------------
[①] 即《你的灯亮着吗?》。
[②] “神看着是好的”,《圣经-旧约-创世记》,第1章。
[③] “神用地上的尘土造人,将生气吹在他鼻孔里,他就成了有灵的活人”,《圣经-旧约-创世记》,第2章。
|