【模組二號程式語言】 Modula-2ProgrammingLanguages
【辭書名稱】圖書館學與資訊科學大辭典
模組二號程式語言是由杜林獎(TuringAward)得獎者NiklausWirth所提出。
模組二號程式語言之名稱的命名是根據其3個編譯單元的模組而來,這些模組分別為程式模組(ProgramModule),定義模組(DefinitionModule)及執行模組(ImplementationModule)。
Wirth根據其早期對Pascal、模組程式語言(Modula)或稱為模組一號程式語言(Modula-1)及Alto電腦的經驗來定義模組二號程式語言。
在1976至1977年間,Wirth在XeroxPaloAlto研究中心與一群設計Alto電腦的工作夥伴一同工作,次年,他開始一個在瑞士聯邦理工學院資訊研究所的Lilith個人電腦計畫。
該計畫主要的原則乃是以模組二號程式語言為Lilith的系統程式語言,而以Lilith為模組二號程式語言的組織架構。
由於不需組譯器(Assembler),該語言不僅適用於編寫高階的應用程式,也應適用於編寫低階,與機器相關的編碼程式(Machine-DependentCoding),用裝置的操控與儲存體的配置。
該語言本身與Lilith結構之設計,都以優雅及簡單為原則,在整個Lilith計畫的生命期中(1978-1988),作業系統、繪圖套裝軟體、資料庫系統、網路協議、檔案伺服器及許多其他系統和應用模組都是藉著模組二號程式語言發展出來的。
模組二號程式語言設計是讓其程式模組得以重複使用(Reuse)。
它藉著提供一些標準程式庫,如異常處置(ExceptionHandling)、字串處理(StringProcessing)、輸入/輸出(I/O)及並行程式設計(ConcurrentProgramming)等來降低語言本身的複雜度。
一個模組二號程式語言的定義模組(DefinitionModule)定義抽象化資料(DataAbstraction)的介面規格。
一個定義模組是與其相對應的實作模組(ImplementationModule)個別分開來編譯。
一旦編譯好就不必再改變。
一個定義模組(DefinitionModule)包含對常數、類型(Type)、變數及程序標頭的宣告。
只有那些可能會被其他程式設計師引用到的程式標頭才會被宣告在定義模組內。
那些相對應的執行模組包括區域性的常數、類型、變數宣告;
以及外部程序和內部實作所需用到的程序定義。
程式是由上而下(Top-Down)的方式發展,其步驟乃是先建立若干定義模組,之後再隨著需要建立實作模組的部分。
每一個實作模組可在其被呼叫前對其區域性的資料結構設定初始值。
模組二號程式語言也需偵測在實作模組內的資料是否已過時而導致資料的不一致。
模組二號程式語言有幾項特色使其在電腦科學的發展過程中有著功不可沒的功勞。
首先,它所提出的電腦架構、語言和作業環境的整合概念是一項創舉;
其次,它強調程式設計師在使用者介面的設計上,至少需花費用同實作程式設計時所耗費的成本和努力。
最後,它提出對抽象化資料的簡化。
轉自:http://edic.nict.gov.tw/cgi-bin/tudic/gsweb.cgi?o=ddictionary
|