電腦程序設(shè)計(jì)語言是什么?在電腦時代的早期,有一個有趣的現(xiàn)象,那就是沒有人知道該如何撰寫電腦程序,也沒有人知道該如何訓(xùn)練他人撰寫程序。數(shù)學(xué)家或其他科學(xué)家雖然具備解決這方面問題的能力,但是許多專業(yè)人員,好比從音樂到文學(xué)方面的專業(yè),也同樣具有相當(dāng)重要的貢獻(xiàn)。今天即使在處理許多先進(jìn)的問題上,如人類學(xué)、哲學(xué)、藝術(shù)及心理學(xué)等觀念,非技術(shù)方面的專業(yè)人員亦引領(lǐng)著電腦科技的發(fā)展方向。
?
?
理由很簡單,無論有多少的硬件設(shè)備,電腦終究要被人類所使用,人類可能擔(dān)任操作者或程序設(shè)計(jì)人員的角色,不論是多媒體展示會的觀眾,或是受惠于電腦輔助設(shè)計(jì)教學(xué)的學(xué)生,在人機(jī)界面上,人類的智慧思維,與電子電路、物理及機(jī)械方面的知識,具有相同的重要性。
?
一旦有了程序語言,撰寫程序便顯得相當(dāng)重要,我們再次強(qiáng)調(diào),“語言”這種說法是非常恰當(dāng)?shù)模缤娙?、小說家或老師運(yùn)用語言來寫詩、小說或課本一般,程序設(shè)計(jì)師利用程序語言來撰寫有用的或娛樂性的電腦程序。究竟現(xiàn)在有多少電腦程序存在呢?答案至少有數(shù)百萬個。有數(shù)以百計(jì)的主程序包含數(shù)以千計(jì)的副程序,而且有許多標(biāo)準(zhǔn)程序可供用戶修改成符合個別且特殊需求的程序。
?
在商場上被廣為采用的,是數(shù)據(jù)庫管理系統(tǒng)程序,或稱DBMS。簡單地說,數(shù)據(jù)庫是一種事件的搜集,通常這些事件之間有某種程度的關(guān)聯(lián),如字典一般,電話簿就是一個數(shù)據(jù)庫;又如銀行建立的顧客的數(shù)據(jù)庫,內(nèi)容詳列顧客的姓名、地址、賬號,以及投資或儲金的偏好,當(dāng)一種新的存款方式上市,銀行便會列出顧客名單,并寄上簡介信給可能對此新產(chǎn)品有興趣的客戶。
?
對銀行來說,一種更富挑戰(zhàn)性的數(shù)據(jù)庫,是所謂的“同步數(shù)據(jù)庫”,這是一種隨時將數(shù)據(jù)更新的數(shù)據(jù)庫,對有提款機(jī)的銀行來說,這樣的程序是必須的,因?yàn)樘峥顧C(jī)必須立即進(jìn)入用戶的賬戶,減掉客戶想要提取的金額,并更新該賬戶的記錄,如此一來,該賬戶便無法以連續(xù)提領(lǐng)的方式溢領(lǐng)現(xiàn)金,但這對銀行對客戶服務(wù)的方便性,與銀行提供該項(xiàng)服務(wù)的成本來說,具有相當(dāng)大的影響。
?
不過,若我們以空中交通管制為例,這樣的數(shù)據(jù)庫可就不足為奇了。在這個例子中,飛機(jī)需確認(rèn)其飛行于各大城市間的位置及其數(shù)據(jù)庫,是否與實(shí)際狀況同步,這是人命關(guān)天的事。空中交通管制人員便察覺到,擁有高速、同步更新的數(shù)據(jù)庫有助于監(jiān)控工作隨時保持高度警戒。
?
數(shù)據(jù)庫僅是眾多有用的電腦程序中的一個,其他被廣為采用的尚包括:文字處理、數(shù)值分析、繪圖、圖表或其他數(shù)值顯示方式、教育或機(jī)械、建筑設(shè)計(jì),而最令人興奮的新程序種類,則是提供給程序設(shè)計(jì)的人員本身所使用的,這種新領(lǐng)域稱為電腦輔助軟件工程。
?
市場分析專家在近期的《電子工程師學(xué)會月刊》指出,電腦輔助軟件工程在90年代中期,將有50億美元的市場。簡單地說,電腦輔助軟件工程促進(jìn)了軟件撰寫過程的自動化。盡管電腦語言的發(fā)展,在易于閱讀與撰寫方面已有長足的進(jìn)步,但軟件的開發(fā)仍是相當(dāng)耗時與昂貴的工作,并且一旦軟件開發(fā)完成,還必須經(jīng)常更新與維護(hù)。換句話說,當(dāng)一家公司購買一個龐大而昂貴的軟件之后,還必須買進(jìn)該項(xiàng)程序?qū)<业臅r間,來確保軟件的正常運(yùn)作。
?
人們希望電腦輔助軟件工程能夠增進(jìn)撰寫軟件的效率,使軟件工程師有更多的時間去開發(fā)其他程序,或探索他們開發(fā)程序的新方法。通常軟件工程師最常遇到的困難是,雖然他們對電腦技術(shù)所知甚多,但對其正在撰寫的程序的應(yīng)用方面,卻沒有特別深入的了解,因此,借由與程序使用者間的相處,對軟件工程師是否能提供適當(dāng)?shù)能浖o消費(fèi)者,必定多有助益。
?
電腦輔助軟件工程的重要關(guān)鍵,是一種稱為物件導(dǎo)向程序設(shè)計(jì)的電腦語言模式,若沒有相當(dāng)?shù)某绦蛟O(shè)計(jì)相關(guān)知識,很難去解釋物件導(dǎo)向程序設(shè)計(jì)的意義,不過將其比喻成儲藏著許多不同種類工具的五金行,倒是一個可行的方式。當(dāng)一個木匠開始一項(xiàng)工作時,他們可能需要錘子、鋸子、電動工具及其他零件材料;同樣的,電腦程序設(shè)計(jì)師使用物件導(dǎo)向程序設(shè)計(jì),便是利用各種物件——即程序中的工具,將他們組成一個所需的程序。
?