【正文】
正交性。6)標(biāo)準(zhǔn)化:強(qiáng)調(diào)可移植性。 ? 2)應(yīng)用:從軍事、科技、商業(yè)、工業(yè)領(lǐng)域 — 計算機(jī)游戲、個人計算機(jī),乃至各個領(lǐng)域。 ? 基于商業(yè)語言,如 COBOL。程 序 設(shè) 計 語 言P ro g ra m m i ng L a ng ua g eD e s i g n a nd I m pl e m e nt a t i o n網(wǎng)絡(luò)教學(xué)第 1章 程序語言設(shè)計問題 [學(xué)習(xí)目標(biāo) ]: 初步掌握程序語言的基本概念,了解程序語言的發(fā)展;了解編程環(huán)境對語言的影響。 ? 人工智能語言,如 LISP。 ? 3)編程方法:簡單程序 — 復(fù)雜程序; 技巧性 — 可讀性。 返回 好語言的特征 ? 1)透明性、簡單性和統(tǒng)一性:從語法上的區(qū)別就能體現(xiàn)語義上的區(qū)別。 ? 正交性的好處:需要記憶的特殊情況較少,易于學(xué)習(xí)和編程。 ? 4)抽象性的支持:能夠支持抽象性的數(shù)據(jù)結(jié)構(gòu)(如包含有“學(xué)生、班級、教師、教室”等成員的記錄 Record,結(jié)構(gòu) Struct等)以及抽象的操作(如給一個班級分配教室)。如 VB、VC、 VJ、 JBuilder、 Delphi等。如今,不是關(guān)心的主要問題。如 Perl, Smalltalk – 程序維護(hù)的代價:在程序的使用過程中對程序反復(fù)修改、修復(fù)和升級擴(kuò)充所花費(fèi)的代價。其操作過程如圖所示。 +命令式語言:寄存器為一系列的“盒子”? 應(yīng)用式語言(函數(shù)式語言) – 以數(shù)據(jù)為驅(qū)動的強(qiáng)調(diào)程序(函數(shù))執(zhí)行的初始狀態(tài)和處理(輸出)結(jié)果。 – 語言實例:側(cè)重于人工智能的 LISP,ML語言等。其一般語法形式為: 啟用條件 1 動作 1 啟用條件 2 動作 2 …… – 該模型可看作是應(yīng)用于數(shù)據(jù)的一個過濾器集合。 – 語言實例: Prolog語言。 – 模型的優(yōu)點(diǎn):結(jié)合命令式和應(yīng)用式語言的優(yōu)點(diǎn)。 – 程序模塊可能存在多個入口和出口。 ?意大利面條代碼? 結(jié)構(gòu)化程序代碼 – 屬于應(yīng)用式模型,程序具有明顯的結(jié)構(gòu),程序的控制跳轉(zhuǎn)不是隨意的。 結(jié)構(gòu)化代碼 返回 語言標(biāo)準(zhǔn) ? int i。 該 C代碼有效? i的值? ? 方法: – 閱讀 C語言手冊? – 編程試驗? – 按語言標(biāo)準(zhǔn)理解? ? 語言開發(fā)商可能希望加入新的特征以增加功能,增加的特性是否合法?用戶是否能夠?qū)φZ言進(jìn)行擴(kuò)充,擴(kuò)充后的語言能否在其它系統(tǒng)上運(yùn)行? ? 標(biāo)準(zhǔn)化分類: – 專有化標(biāo)準(zhǔn):語言開發(fā)商定義。是使一種語言在幾個實現(xiàn)中保證相同性的主要方法。 – 國際標(biāo)準(zhǔn)化組織( ISO); ? 影響標(biāo)準(zhǔn)化的因素: – 時機(jī)性 :什么時候標(biāo)準(zhǔn)化一個語言最合適? 不能太早,否則人們還沒有足夠的使用經(jīng)驗,難以被接受(如 Ada語言);也不能太晚,否則