freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

程序設(shè)計(jì)語言簡史word版(編輯修改稿)

2025-06-12 17:30 本頁面
 

【文章內(nèi)容簡介】 90%左右的源程序是用 C 寫的。它使 UNIX 成為世界上第一個(gè)易于移植的操作系統(tǒng)。 UNIX 以后發(fā)展成為良好的程序設(shè)計(jì)環(huán)境,反過來又促進(jìn)了 C 的普及。 C語言是個(gè)小語言,追求程序簡潔,編譯運(yùn)行效率高。是一個(gè)表達(dá)能力很強(qiáng)的、順序的、結(jié)構(gòu)化程序設(shè)計(jì)語言。它給程序員較大的自由度,下層數(shù)據(jù)轉(zhuǎn)換靈活。程序正確性完全由程序員負(fù)責(zé)。上層是結(jié)構(gòu)化的控制結(jié)構(gòu),有類似Pascal 的數(shù)據(jù)類型。它的分別編譯機(jī)制使它可構(gòu)成大程序。輸入 /出依賴 UNIX,使語言簡短。語言學(xué)家極力反對(duì)的 goto 語句、無控制指針、函數(shù)邊界效 應(yīng)、類型靈活轉(zhuǎn)換、全程量這些不安全的根源 C 全部具備。在某種意義下 C得益于靈活的指針、函數(shù)副作用和數(shù)據(jù)類型靈活的解釋。易讀性又不好,偏偏程序員都喜愛它。因?yàn)樗啙?,近于硬件,代碼高效,并有大量環(huán)境工具支持。 C程序?qū)懫饋碛侄?,調(diào)試起來又快。微機(jī)上的各種移植版本的 C語言,對(duì) C成為通用的程序設(shè)計(jì)語言起到了推波助瀾的作用。 C語言正以席卷系統(tǒng)程序設(shè)計(jì)領(lǐng)域的勢頭發(fā)展,并向應(yīng)用領(lǐng)域擴(kuò)展。以后的發(fā)展把與它同期出現(xiàn)的 Pascal 遠(yuǎn)遠(yuǎn)拋在后面,成為系統(tǒng)軟件的主導(dǎo)語言。 1972 年法國 Marseille 大學(xué)的 研制 出非過程的 Prolog 語言。Prolog 有著完全嶄新的程序設(shè)計(jì)風(fēng)格,它只需要程序員聲明 事實(shí) 規(guī)則 。事實(shí)和規(guī)則都以一階謂詞的形式表示。 Prolog 規(guī)則的執(zhí)行是靠該系統(tǒng)內(nèi)部的推理機(jī),而推理機(jī)按一定的次序執(zhí)行。在這個(gè)意義上它又有點(diǎn)過程性。以回溯查找匹配, Prolog 的數(shù)據(jù)結(jié)構(gòu)類似 Pascal 的記錄或 LISP 的表。它是以子句為基礎(chǔ)的小語言,最初被解釋執(zhí)行,編譯 Prolog 是很久以后的事,由于 Prolog 是以邏輯推理作為模型的語言,它可以直接映射客觀世界事物間邏輯關(guān)系。在人工智能研究中得到了廣泛的應(yīng)用, 80 年代 日本聲稱研制的五代機(jī)以 Prolog 作為主導(dǎo)語言并研制 Prolog 機(jī)。 70 年代,在傳統(tǒng)語言中出現(xiàn)了以下有代表性的語言: 為了開發(fā)大型可維護(hù)程序,施樂公司 197274 年由 Geschke 領(lǐng)導(dǎo)研制了Mesa 語言。 Mesa 是強(qiáng)類型結(jié)構(gòu)化語言,有模塊 (若干子程序集合 )概念和抽象數(shù)據(jù)類型。支持并發(fā)程序設(shè)計(jì),由監(jiān)控器協(xié)調(diào)各模塊執(zhí)行。有分別編譯,異常處理機(jī)制。保留 goto 語句,也可以抑制類型檢查。 Mesa 可配置語言編譯后的各模塊。 1974 年 MIT 的 Liskov 和 Zilles 提出 CLU 語言,它突出的是數(shù)據(jù)抽象。數(shù)據(jù)抽象是 70 年代類型強(qiáng)化和抽象技術(shù)的重要成果,它允許用戶定義抽象的數(shù)據(jù)類型。這些類型的定義和它的實(shí)現(xiàn)可顯式地分開。定義描述了語義,實(shí)現(xiàn)對(duì)于使用該數(shù)據(jù)的用戶是無關(guān)緊要的,因而,利于修改。增強(qiáng)模塊性和獨(dú)立性,從而易于保證程序正確。數(shù)據(jù)抽象可定義更遠(yuǎn)離機(jī)器而近于人類的數(shù)據(jù)概念。如堆棧就可定義為抽象數(shù)據(jù)類型。人們可通過壓入數(shù)據(jù)、彈出數(shù)據(jù)的操作對(duì)棧體進(jìn)行操作。其外在行為就是后進(jìn)先出的數(shù)據(jù)棧,而棧體可由數(shù)組、或鏈表、或記錄任一種數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。 CLU 的抽象數(shù)據(jù)類型稱之為簇 (Cluster)。由構(gòu)造算子 (Constructor 按 簇的樣板建立運(yùn)算對(duì)象 (實(shí)例 )。 CLU 無 goto,無全程量概念。用戶可定義新的迭代(通過迭代算子 Iterator)。 數(shù)據(jù)抽象在 1975 年卡內(nèi)基﹒梅降大學(xué) Wulf 和 Shaw 開發(fā)的 ALPHARD 語言中是數(shù)據(jù)模型 FORM。 ALPHARD 的特點(diǎn)是支持程序的驗(yàn)證。程序設(shè)計(jì)和驗(yàn)證同時(shí)進(jìn)行。 另一個(gè)支持程序驗(yàn)證的語言是加州大學(xué) Poperk 和加拿大的 Horning 于1976 年到 77 年開發(fā)的 EUCLID。為了易于驗(yàn)證,無 goto 語句,指針僅限于集合類型,類型兼容有嚴(yán)格的定義,函數(shù)調(diào)用絕無邊界效應(yīng)。編譯自動(dòng)生成驗(yàn)證用的斷言。 EUCLID 以后發(fā)展成數(shù)據(jù)流語言。 在并發(fā)程序方面, 1975 年丹麥學(xué)者 開發(fā)了并發(fā) Pascal。它沒有追求大而全,只是將 Pascal 向并發(fā)方面作了擴(kuò)充,希望用 Pascal 寫操作系統(tǒng)。有抽象數(shù)據(jù)類型的類 (Class)機(jī)制。控制方面提出進(jìn)程類和管程類的概念。通過init 語句激活類實(shí)例, cycle 語句使進(jìn)程無限循環(huán)地運(yùn)行。通過管程 (管理資源的模塊 )實(shí)現(xiàn)進(jìn)程通訊。有較強(qiáng)的靜態(tài)類型檢查,可查出靜態(tài) 死鎖 。 令人不解的是正當(dāng)人們對(duì)進(jìn)程、管理概念充分評(píng)價(jià)時(shí), 本人放棄了這些概念。 1981 年發(fā)表 了小型系統(tǒng)程序設(shè)計(jì)語言 Edison,僅用并發(fā)語句控制并發(fā)進(jìn)程的執(zhí)行。 Hanson 極力推崇語言的簡單性,所以 Edison 比并發(fā) Pascal小得多,普通 (不大的 )微機(jī)都可以運(yùn)行。但其表達(dá)能力比 C 差多了。沒有達(dá)到并發(fā) Pascal 那樣的影響。 Pascal 在結(jié)構(gòu)化程序設(shè)計(jì)方面是一個(gè)示范性語言,在推行結(jié)構(gòu)化程序設(shè)計(jì)教學(xué)上發(fā)揮了卓越的作用,但在工程實(shí)踐上暴露出設(shè)計(jì)上的許多缺點(diǎn)。 Pascal除了無獨(dú)立模塊和分別編譯機(jī)制不能編大程序而外,原來它的強(qiáng)類型是有漏洞的。類型等價(jià)似乎是按名等價(jià),實(shí)現(xiàn)是按結(jié)構(gòu)等價(jià)。最后的結(jié)論它是 偽 強(qiáng)類型。數(shù)組定長對(duì)處理字符串很不方便,布爾表達(dá)式求值定義不嚴(yán), I/O 規(guī)定太死,難于寫出靈活的輸入 /輸出。聲明順序過嚴(yán),無靜態(tài)變量概念 (局部量一旦所在局部塊執(zhí)行完畢就消失 )都給程序設(shè)計(jì)帶來不便。從小而靈活方面,它又不及 C,沒有位 (bit)級(jí)操作,指針操作限制過死。于是 Pascal 的設(shè)計(jì)者 1975 年又開始開發(fā) Modula 語言, 1977 年正式發(fā)布為 Modula2。 Modula2除了改進(jìn) Pascal 的上述弱點(diǎn)而外,最重要的是有模塊結(jié)構(gòu)。可分別編譯的模塊是用戶程序的資源。系統(tǒng)資源也以模塊形式出現(xiàn)。模塊封裝了數(shù) 據(jù)和操作 (過程 ),模塊定義和模塊實(shí)現(xiàn)顯式分開。程序員在定義模塊中通過移入,移出子句控制程序資源 (類型、變量、過程、子模塊 )的使用。 Modula2增加了同步進(jìn)程機(jī)制以支持并發(fā)程序設(shè)計(jì),有有限的低級(jí)設(shè)施直接和系統(tǒng)打交道。取消 goto 語句、增加 case 語句中 otherwise 機(jī)制,封裝的模塊可作抽象數(shù)據(jù)類型設(shè)計(jì)。它是用于系統(tǒng)設(shè)計(jì)的強(qiáng)類型語言。西歐的計(jì)算機(jī)科學(xué)家對(duì) Modula2 是歡迎的,但它不巧與美國開發(fā)的 Ada 非常近似,與 Ada 競爭處于非常不利的地位。盡管它的 9000 句編譯器具有 Ada20 萬句編譯器 80%的功能,也沒有取得 Pascal 那樣的成就。 70 年代中期美國軟件的最大用戶美國國防部 (美國軟件市場約 2/3 經(jīng)費(fèi)直接或間接與它相關(guān) )深
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1