軟件開發的哲學思考
(2002.01.11) 來自:計算機世界 棗莊張偉 編譯
譯者注:這篇文章雖然年代久遠(1996年寫的,對於IT行業來說用'久遠’二字應該說還是十分合適的),但讀過之後還是為作者的才華所傾倒,這是不可多見的一篇文章。
卡內基-梅隆軟件開發學院及其它學院的研究人員用盡畢生的精力去定義一個理論學科(即軟件開發理論),到後來才發現仍有很多東西比較模糊,他們對此也不隱瞞。軟件開發,自從產生以來,它以迷人的風采征服了許許多多有才華的人,一些教授、專家學者及商業管理人士不由提出這樣一個問題:即然軟件能迷住這麼多人,為什麼人類無法定義它、解釋它,深刻地了解它?為什麼一些天才的科學家窮其一生的精力也不能把這些迷惑歸納成一種科學工程學科或行業標准?
我們當中的大部分人,特別是商人、工程師及學術機構研究人員把計算機與軟件看成一個非常普通的東西,他們用各種荒唐的方式同計算機交流,計算機對來自用戶的威脅與譴責充耳不聞。軟件無處不在,然而軟件卻常常表現為失敗、罷工及不正常,這主要有兩方面原因:一是程序失敗,就會導致文件定義不准確,最後軟件表現為罷工、不正常;二是一些軟件開發主管胡亂指揮,逼迫軟件應用一些華而不實的技巧來實現主管們不切實際的想法及美妙的空想。
緩慢的軟件開發與互聯網訪問占用了人們大部分時間,尤為重要的是,這兩方面在當代都容易使人上瘾。一旦上瘾,正常的人也會成為文件處理、文件上載及下載的奴隸,這種情況大都要歸結為管理它的軟件具有一定的缺點。這時不得不讓人疑惑:我們能蓋摩天大樓、能造速度很快的賽車及高性能電子產品,我們甚至能理解量子力學及亞原子,那為什麼我們不能開發出高質量的軟件?
【神秘背後的真相】
軟件開發的本質就是基於人類思考的一種心智活動,計算機及運行其上的軟件就是人類大腦活動的一面鏡子,因此軟件開發同樣也面臨心理學與精神學所固有的一些問題。眾所周知,心理學的所有目的不外乎去了解人類難以捉摸的靈魂,一些醫學專業人員研究這方面。軟件開發與之相比,情況可能會更糟糕,因為軟件開發畢竟只是人類智力活動的一個模型,它來自於人類的智力思考。不管你承不承認,智力活動只是靈魂行為的一部分。
從相當多的方面來看,軟件與心理學的關系要比工程學、技術及數學的與心理學的關系要近的多,這是因為軟件直接來自於人類靈魂的思索,上等的軟件常常要借助於靈魂的創造性。與藝術相比,軟件缺少了藝術之美;與自然科學相比,它缺少一點正規性。此外,軟件永久只能是軟件開發人員的心理模仿。