什么叫“我是搞計(jì)算機(jī)的”?- -
作者 陳道蓄
導(dǎo)言
計(jì)算機(jī)無疑是20世紀(jì)對人類生活影響最大的科技成果之一,與同樣影響深遠(yuǎn)的航天科技的偉
大成果相比,計(jì)算機(jī)技術(shù)對于普通人日常生活的影響是直接而顯著的,它在短短幾十年中,
滲透到人類生活的各個方面,同時也就產(chǎn)生了一大批人在職業(yè)上被稱為是“搞計(jì)算機(jī)的”
。
本文試圖從計(jì)算機(jī)軟件的角度來探討計(jì)算機(jī)作為一個“行當(dāng)”是否包含了太多的內(nèi)容,以
至于有必要區(qū)分其科學(xué)、技術(shù)、工程以及應(yīng)用等不同的方面,并希望這會引起計(jì)算機(jī)從業(yè)者
,特別是計(jì)算機(jī)教育工作者更深入的討論,讓我們的人才培養(yǎng)更有針對性,效果更顯著。
計(jì)算機(jī)領(lǐng)域是個在大眾高度關(guān)注下的領(lǐng)域,許多介紹計(jì)算機(jī)技術(shù)和應(yīng)用的刊物出現(xiàn)在街頭
報刊亭中,這個行業(yè)中的許多頭面人物幾乎像文體明星一樣具有公眾顯示度。但是,作為
一個學(xué)科,公眾頭腦中的計(jì)算機(jī)專業(yè)有多大的準(zhǔn)確性呢?
我們先看看大眾視野中的計(jì)算機(jī)技術(shù)。PC、Windows、office、因特網(wǎng)、WWW以至于Linux、
奔騰這些名詞會隨時從沒有任何專業(yè)背景的人口中脫出,五彩繽紛的視頻效果是不少中學(xué)
畢業(yè)生希望進(jìn)入這一專業(yè)的重要動力,而要更“專業(yè)”一些,恐怕想到的也就是“編程”
了。
另一方面,如果我們選擇近四十年來圖靈獎的獲獎成果作為在專家的視角下這一領(lǐng)域最有
影響的進(jìn)展的一個標(biāo)志,那么遠(yuǎn)不止是一般公眾,即使是“搞計(jì)算機(jī)的”,對其中大多數(shù)
人和成果都不那么熟悉。從1966年開始到2003年共頒獎38屆,有47位獲獎人,其中有15人
主要成果涉及形式系統(tǒng)與程序設(shè)計(jì)語言和方法,有14人主要成果涉及計(jì)算機(jī)算法及其復(fù)雜
性理論。許多計(jì)算機(jī)專業(yè)的本科生在聽到對其中有些成果的介紹時,甚至表示不知道這也
算是“搞計(jì)算機(jī)的”。
許多人有一種看法:“計(jì)算機(jī)只不過是工具”,其后面隱含的話就是“主要就是應(yīng)用”。
這本身沒有什么不對,但用它來作為計(jì)算機(jī)專業(yè)定位的出發(fā)點(diǎn)就會產(chǎn)生極大的誤導(dǎo)。即使
是菜刀這樣的工具,也會涉及科學(xué)、技術(shù)、工程和應(yīng)用的各個層面,如圖1所示。菜刀過于
簡單,其他學(xué)科的知識足夠它的需要了,因此沒有什么“菜刀科學(xué)”。計(jì)算機(jī)軟件則不然
,它涉及了科學(xué)、技術(shù)、工程和應(yīng)用等眾多復(fù)雜的內(nèi)容,讓我們從不同的角度來看看,在
各個方面“搞計(jì)算機(jī)的”人究竟在做些什么。
按照傳統(tǒng)的說法,從事科學(xué)的人是“發(fā)現(xiàn)者”,他們試圖發(fā)現(xiàn)自然、社會等方面存在的規(guī)
律;從事技術(shù)工作的人是“創(chuàng)造者”,他們利用已發(fā)現(xiàn)的規(guī)律試圖創(chuàng)造新的物品、工具、
方法來滿足人類的需要,從事工程的人則是“實(shí)現(xiàn)者”,以合理的成本建造或生產(chǎn)穩(wěn)定可
靠的結(jié)構(gòu)或產(chǎn)品滿足大量人群的需要,如圖2所示。
科學(xué)
首先來考慮計(jì)算機(jī)科學(xué)。計(jì)算機(jī)科學(xué)應(yīng)該是試圖發(fā)現(xiàn)一類非自然結(jié)構(gòu)的內(nèi)在規(guī)律的學(xué)科,
這類結(jié)構(gòu)中涉及的現(xiàn)象(既非純粹的自然現(xiàn)象,又非一般意義上的社會現(xiàn)象)的解釋不能在
已有的學(xué)科中得到。其實(shí)“什么是計(jì)算機(jī)科學(xué)”這個問題并不容易回答。以色列學(xué)者哈雷
爾在《算法學(xué):計(jì)算的本質(zhì)》一書中提出這樣的問題:論技術(shù)的影響,電話也很大,為什
么沒有電話科學(xué)?論技術(shù)復(fù)雜性,人造衛(wèi)星很復(fù)雜,為什么沒有被廣泛接受的人造衛(wèi)星科
學(xué)。他認(rèn)為其實(shí)計(jì)算機(jī)是計(jì)算的工具,用計(jì)算機(jī)給這門科學(xué)命名,就像用“手術(shù)刀科學(xué)”
給外科學(xué)命名一樣地不合適。當(dāng)計(jì)算機(jī)科學(xué)這門新學(xué)科出現(xiàn)時(一般認(rèn)為美國卡內(nèi)基梅隆大
學(xué)在首位圖靈獎得主佩利的領(lǐng)導(dǎo)下建立了最早的計(jì)算機(jī)科學(xué)系)主要內(nèi)容就是“算法”和“
形式系統(tǒng)”,是“程序設(shè)計(jì)的科學(xué)”(不是現(xiàn)在大眾理解的“編程”)。
每個科學(xué)學(xué)科都有其所謂的“終極”問題。計(jì)算機(jī)科學(xué)的“終極”問題被認(rèn)為是“什么可
以被自動地計(jì)算?”在計(jì)算機(jī)科學(xué)學(xué)科出現(xiàn)近五十年后,隨著計(jì)算環(huán)境的發(fā)展,有很多還
不清楚的問題需要我們?nèi)グl(fā)現(xiàn)其答案。例如Internet已經(jīng)發(fā)展成一個客觀存在,但我們對
其中數(shù)據(jù)與服務(wù)的分布、需求的模式、協(xié)同方式等等還了解很少,即使是傳統(tǒng)的算法領(lǐng)域
,很多問題還沒有解答。軟件本身日益復(fù)雜,如什么是合理的體系結(jié)構(gòu)等等,這些方面的
新知識將大大加深我們對計(jì)算機(jī)軟件系統(tǒng)及其有效性的理解。
技術(shù)
說到技術(shù),我們要創(chuàng)造什么?概括起來看,人類希望用計(jì)算機(jī)來做三件事:
* 模擬 :從解方程到令人陶醉其中的虛擬現(xiàn)實(shí),都是模擬
* 通信 :從跨越空間的常規(guī)意義上的通信到用存儲功能實(shí)現(xiàn)的跨時間的
* 控制 :從巨大的火箭到洗衣機(jī)
技術(shù)發(fā)展在可預(yù)見的未來,將圍繞這三方面的功能,往高度人性化方向發(fā)展。汪成為院士
曾在他的報告中用圖描述了計(jì)算機(jī)技術(shù)的發(fā)展趨勢,如圖3所示。
在試圖實(shí)現(xiàn)上述技術(shù)進(jìn)步的同時,軟件本身的開發(fā)技術(shù)也在不斷得到發(fā)展。從面向?qū)ο螅?br>到軟件構(gòu)件技術(shù)、中間件技術(shù),新的工具和方法似乎天天在出現(xiàn)。
但有一個經(jīng)常導(dǎo)致爭論的問題是:近年來軟件技術(shù)的進(jìn)步是革命性的,還是只不過是改良
?這個問題沒有答案,但每個人都有自己的觀點(diǎn)。我認(rèn)為,自面向?qū)ο蠹夹g(shù)出現(xiàn)以來,軟
件技術(shù)的進(jìn)步雖然令人印象深刻,但主要是建立在硬件環(huán)境的進(jìn)步以及量的積累上的,所
以還談不上是革命性的。
面向?qū)ο蟮乃枷?、理論和方法出現(xiàn)三十多年了,其科學(xué)上的先驅(qū)達(dá)爾、奈加特以及阿蘭·
凱對幾十年來技術(shù)進(jìn)步的巨大貢獻(xiàn)通過2001年度和2003年度的圖靈獎得到了肯定,盡管他
們的“有形”成果Simula和Smalltalk從來沒有廣泛流行過。
軟件技術(shù)的革命性進(jìn)步還在等待計(jì)算機(jī)科學(xué)的成果來推動,如圖4所示。
工程
軟件產(chǎn)品的質(zhì)量難以保證,開發(fā)過程常常不易控制,這是困擾軟件產(chǎn)業(yè)界多年的問題,而
這一問題并不能單靠技術(shù)和工具來解決。軟件開發(fā)的工程化要求開發(fā)人員成為真正意義上
的工程師。
工程師作為制造者、實(shí)現(xiàn)者與發(fā)現(xiàn)者、創(chuàng)造者有很大的不同。我們可以這樣來看科學(xué)家與
工程師思維方式的差別:前者要“說人之未說,是非任人評判”,要在一點(diǎn)上深入下去,
可以暫時“不及其余”;而后者則要為用戶負(fù)責(zé),必須承擔(dān)責(zé)任,他們必須面面俱到,即
使不是關(guān)鍵技術(shù)上的不足也可能導(dǎo)致產(chǎn)品在市場上全面失敗,他們的工作必須基于制度與
規(guī)范約束下的合作。
計(jì)算機(jī)教育家坦能鮑姆有個形象的說法:上帝創(chuàng)造世界卻忘記了寫說明書,科學(xué)家的任務(wù)
就是補(bǔ)寫出這部說明書,而工程師的職責(zé)則是用一角錢做出傻瓜必須用一元錢才能做的事
。其實(shí)二者各有各的難處。
美國進(jìn)行的有關(guān)計(jì)算機(jī)教育的調(diào)查報告中提到,接受過正規(guī)的計(jì)算機(jī)科學(xué)與技術(shù)教育的人
去從事工程工作時缺乏的相關(guān)技能知識包括溝通、人機(jī)交互、項(xiàng)目管理、軟件成本、軟件
度量、可靠性與容錯、需求,甚至于職業(yè)倫理。
應(yīng)用
隨著信息化進(jìn)程加速,與計(jì)算機(jī)相關(guān)的人員增加最快的應(yīng)該是應(yīng)用人員。他們往往并不是
指應(yīng)用軟件開發(fā)工程師,而是另外兩方面的人員:一是各個不同的專業(yè)領(lǐng)域內(nèi)用計(jì)算機(jī)去
實(shí)現(xiàn)他們各自計(jì)算需求的專業(yè)人員,另一部分是從組織層次建立和維護(hù)信息系統(tǒng)的專業(yè)人
員。前者不應(yīng)該是“搞計(jì)算機(jī)的”,而后者在美國ACM指導(dǎo)性教學(xué)計(jì)劃編制者那里則被列為
“計(jì)算學(xué)科”下的一個新學(xué)科,與“計(jì)算機(jī)科學(xué)”、“軟件工程”等并列,名稱被定為“
信息技術(shù)”(IT)似乎并不合適,照該分支學(xué)科教學(xué)計(jì)劃編制者之一Lunt教授的說法:“實(shí)
在想不出更合適的名稱?!?br>
應(yīng)用可能是在我國計(jì)算機(jī)教育界有最多誤區(qū)的一個方面。我想引用應(yīng)用數(shù)學(xué)家林家翹在《
科學(xué)時報》的一次訪談中說的話:現(xiàn)在我們嚴(yán)重問題是沒有重視應(yīng)用數(shù)學(xué)和實(shí)用數(shù)學(xué)(數(shù)學(xué)
的應(yīng)用)二者的區(qū)別。應(yīng)用數(shù)學(xué)主動提出研究對象中的數(shù)學(xué)問題,通過問題的解加深對研究
對象的認(rèn)識,而實(shí)用數(shù)學(xué)的主要目的是滿足社會需要,幫助服務(wù)對象解決他們提出的數(shù)學(xué)
問題。我想我們可以說“我們嚴(yán)重的問題是沒有重視計(jì)算機(jī)應(yīng)用技術(shù)和計(jì)算機(jī)技術(shù)的應(yīng)用
二者的區(qū)別”,隨著信息化和軟件技術(shù)的不斷進(jìn)步,后者主要將不是“搞計(jì)算機(jī)的”。
結(jié)束語
“搞計(jì)算機(jī)的”是一個迅速擴(kuò)大的群體, 如圖5所示。其實(shí)這里面有著太多的不同。 科學(xué)
、技術(shù)、工程和應(yīng)用不僅需要不同的知識和技能背景, 更重要的是他們具有不同的思維方
式和工作模式。 搞清楚這里的差別,對計(jì)算機(jī)學(xué)科的發(fā)展以及計(jì)算機(jī)人才的培養(yǎng)會有積極
的作用。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報。