注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語言/工具程序設(shè)計(jì)語言概念

程序設(shè)計(jì)語言概念

程序設(shè)計(jì)語言概念

定 價(jià):¥56.00

作 者: (美)米切爾;馮建華譯
出版社: 清華大學(xué)出版社
叢編項(xiàng): 世界著名計(jì)算機(jī)教材精選
標(biāo) 簽: 高級程序語言設(shè)計(jì)

ISBN: 9787302111078 出版時(shí)間: 2005-10-01 包裝: 平裝
開本: 16開 頁數(shù): 600 字?jǐn)?shù):  

內(nèi)容簡介

  本書是由斯坦福大學(xué)計(jì)算機(jī)科學(xué)教授JohnC。M、itchell編寫的。程序設(shè)計(jì)語言為程序員寫出一個(gè)好的程序提供了所需的抽象機(jī)制、組織原則以及控制結(jié)構(gòu)。這本書所介紹是在程序設(shè)計(jì)語言中出現(xiàn)的概念,以及語言的設(shè)計(jì)方式對程序開發(fā)產(chǎn)生的影響。本書分為四部分:函數(shù)與基本原理;過程、類型、內(nèi)存管理與控制;模塊、抽象與面向?qū)ο缶幊?;并發(fā)性與邏輯編程等。通過本書的學(xué)習(xí),讀者將會(huì)對過去40年中所使用過的各種程序設(shè)計(jì)語言有更好的理解,對程序設(shè)計(jì)語言的設(shè)計(jì)過程中出現(xiàn)的問題和折中有深的認(rèn)識,也會(huì)對他們所使用的程序設(shè)計(jì)語言的利弊有更透徹的了解。由于不同的語言體現(xiàn)了不同的編程概念,把其他語言中的思想引入到自己所編寫的程序中將會(huì)提高讀者的編程能力。本書適于大學(xué)本科以及低年級研究生理解和研究現(xiàn)代程序設(shè)計(jì)語言。

作者簡介

暫缺《程序設(shè)計(jì)語言概念》作者簡介

圖書目錄

第1部分 函數(shù)與基本原理
第1章 導(dǎo)言 2
1.1 程序設(shè)計(jì)語言 2
1.2 目標(biāo) 3
1.2.1 總體目標(biāo) 3
1.2.2 特殊主題 3
1.3 程序設(shè)計(jì)語言的歷史 4
1.4 組織:概念和語言 5
第2章 可計(jì)算性 7
2.1 部分函數(shù)與可計(jì)算性 7
2.1.1 表達(dá)式、錯(cuò)誤和非終止符 7
2.1.2 部分函數(shù) 8
2.1.3 可計(jì)算性 9
2.2 本章小結(jié) 11
習(xí)題 11
第3章 Lisp語言:函數(shù)、遞歸和列表 13
3.1 Lisp語言的歷史 13
3.2 好的語言設(shè)計(jì) 13
3.3 語言簡述 15
3.4 Lisp設(shè)計(jì)中的創(chuàng)新 18
3.4.1 語句和表達(dá)式 18
3.4.2 條件表達(dá)式 19
3.4.3 Lisp抽象機(jī) 20
3.4.4 把程序作為數(shù)據(jù) 23
3.4.5 函數(shù)表達(dá)式 24
3.4.6 遞歸 25
3.4.7 高階函數(shù) 25
3.4.8 垃圾收集 26
3.4.9 純Lisp與副作用 29
3.5 本章小結(jié) 30
習(xí)題 30
第4章 基本原理 38
4.1 編譯器和語法 38
4.1.1 一個(gè)簡單編譯器的結(jié)構(gòu) 38
4.1.2 文法和解析樹 41
4.1.3 解析和優(yōu)先級 43
4.2 朗母達(dá)演算 44
4.2.1 函數(shù)和函數(shù)表達(dá)式 44
4.2.2 朗母達(dá)表達(dá)式 45
4.2.3 朗母達(dá)演算編程 49
4.2.4 歸約、匯合和范式 51
4.2.5 朗母達(dá)演算的重要特征 52
4.3 指稱語義 52
4.3.1 目標(biāo)語言和元語言 53
4.3.2 二進(jìn)制數(shù)的指稱語義 54
4.3.3 While程序的指稱語義 55
4.3.4 透視和非標(biāo)準(zhǔn)語義 58
4.4 函數(shù)型語言和命令型語言 60
4.4.1 命令語句和聲明語句 60
4.4.2 功能型程序和命令型程序 61
4.5 本章小結(jié) 65
習(xí)題 66
第2部分 過程、類型、內(nèi)存管理與控制
第5章 Algol與ML語言 74
5.1 Algol家族的程序語言 74
5.1.1 Algol 60 74
5.1.2 Algol 68 76
5.1.3 Pascal 77
5.1.4 Modula 78
5.2 C語言的發(fā)展 78
5.3 LCF系統(tǒng)和ML 80
5.4 ML程序設(shè)計(jì)語言 82
5.4.1 交互會(huì)話和運(yùn)行時(shí)環(huán)境 82
5.4.2 基本類型和類型構(gòu)造器 85
5.4.3 模式、聲明、函數(shù)表達(dá)式 89
5.4.4 ML數(shù)據(jù)類型的聲明 92
5.4.5 ML的引用單元與賦值 94
5.4.6 ML小結(jié) 97
5.5 本章小結(jié) 98
習(xí)題 98
第6章 類型系統(tǒng)和類型推測 105
6.1 程序設(shè)計(jì)中的類型 105
6.1.1 程序的組織和文檔 105
6.1.2 類型錯(cuò)誤 106
6.1.3 類型與優(yōu)化 107
6.2 類型安全和類型檢查 108
6.2.1 類型安全 108
6.2.2 編譯時(shí)和運(yùn)行時(shí)的類型檢查 108
6.3 類型推測 110
6.3.1 第一個(gè)類型推測的示例 110
6.3.2 類型推測算法 111
6.4 多態(tài)和重載 118
6.4.1 參數(shù)多態(tài) 118
6.4.2 參數(shù)多態(tài)的實(shí)現(xiàn) 120
6.4.3 重載 122
6.5 類型聲明和類型等價(jià)性 123
6.5.1 透明的類型聲明 123
6.5.2 C語言的聲明和結(jié)構(gòu) 124
6.5.3 ML類型聲明 125
6.6 本章小結(jié) 126
習(xí)題 127
第7章 作用域、函數(shù)和存儲管理 133
7.1 塊結(jié)構(gòu)的語言 133
7.2 內(nèi)嵌塊 135
7.2.1 活動(dòng)記錄和局部變量 135
7.2.2 全局變量和控制鏈 138
7.3 函數(shù)和子程序 139
7.3.1 函數(shù)的活動(dòng)記錄 139
7.3.2 參數(shù)傳遞 141
7.3.3 全局變量(一階情況) 144
7.3.4 末端遞歸(一階情況) 146
7.4 高階函數(shù) 148
7.4.1 一階函數(shù) 148
7.4.2 將函數(shù)傳遞給函數(shù) 149
7.4.3 從嵌套作用域中返回函數(shù) 152
7.5 本章小結(jié) 154
習(xí)題 155
第8章 順序語言中的控制 168
8.1 結(jié)構(gòu)化控制 168
8.1.1 意大利面條式的代碼 168
8.1.2 結(jié)構(gòu)化控制 168
8.2 異常 169
8.2.1 異常機(jī)制的目的 169
8.2.2 ML異常 171
8.2.3 C++異常 173
8.2.4 關(guān)于異常的更多內(nèi)容 175
8.3 延續(xù) 179
8.3.1 表示"程序其余部分"的函數(shù) 179
8.3.2 延續(xù)傳遞形式和末端調(diào)用 180
8.3.3 延續(xù)的編譯 183
8.4 函數(shù)和求值順序 183
8.5 本章小結(jié) 186
習(xí)題 187
第3部分 模塊、抽象與面向?qū)ο蟪绦蛟O(shè)計(jì)
第9章 數(shù)據(jù)抽象和模塊化 192
9.1 結(jié)構(gòu)化程序設(shè)計(jì) 192
9.1.1 數(shù)據(jù)細(xì)化 193
9.1.2 模塊化 194
9.2 支持抽象機(jī)制的語言 196
9.2.1 抽象 197
9.2.2 抽象數(shù)據(jù)類型 198
9.2.3 ML抽象數(shù)據(jù)類型 198
9.2.4 表達(dá)無關(guān)性 201
9.2.5 數(shù)據(jù)類型介紹 202
9.3 模塊 204
9.3.1 Modula和Ada 205
9.3.2 ML模塊 207
9.4 一般抽象 210
9.4.1 C++函數(shù)模板 210
9.4.2 標(biāo)準(zhǔn)的ML算符 212
9.4.3 C++標(biāo)準(zhǔn)模板庫 215
9.5 本章小結(jié) 218
習(xí)題 220
第10章 面向?qū)ο笳Z言的概念 226
10.1 面向?qū)ο笤O(shè)計(jì) 226
10.2 面向?qū)ο笳Z言中的4個(gè)基本概念 227
10.2.1 動(dòng)態(tài)查找 227
10.2.2 抽象 229
10.2.3 子類型 231
10.2.4 繼承 232
10.2.5 作為對象的閉包 233
10.2.6 繼承不是子類型 234
10.3 編程結(jié)構(gòu) 235
10.4 設(shè)計(jì)模式 236
10.5 本章小結(jié) 239
10.6 展望:Simula、Smalltalk、C++、Java 239
習(xí)題 240
第11章 對象的歷史:Simula和Smalltalk 246
11.1 Simula面向?qū)ο髾C(jī)理 246
11.1.1 對象和仿真 246
11.1.2 Simula的主要概念 247
11.2 Simula中的對象 247
11.2.1 Simula中面向?qū)ο蟮幕咎攸c(diǎn) 248
11.2.2 一個(gè)點(diǎn)線圓的例子 248
11.2.3 示例代碼和對象表示 250
11.3 Simula中的子類和繼承 251
11.3.1 對象類型和子類型 252
11.4 Smalltalk的發(fā)展 254
11.5 Smalltalk語言的特點(diǎn) 255
11.5.1 術(shù)語 255
11.5.2 類和對象 255
11.5.3 繼承 258
11.5.4 Smalltalk的抽象性 260
11.6 Smalltalk的靈活性 260
11.6.1 動(dòng)態(tài)查找和多態(tài) 260
11.6.2 布爾變量和塊 261
11.6.3 self和super 262
11.6.4 系統(tǒng)擴(kuò)充:Ingalls測試 263
11.7 子類型與繼承的重要性 264
11.7.1 對象類型作為接口 264
11.7.2 子類型 265
11.7.3 子類型和繼承 265
11.8 本章小結(jié) 267
習(xí)題 268
第12章 C++對象與運(yùn)行效率 277
12.1 設(shè)計(jì)目標(biāo)和限制 277
12.1.1 與C的兼容性 277
12.1.2 C++的成功 278
12.2 C++概述 278
12.2.1 增加了C中沒有的對象 279
12.2.2 面向?qū)ο蟮奶攸c(diǎn) 282
12.2.3 好的決定和問題所在 282
12.3 類、繼承和虛函數(shù) 284
12.3.1 C++類和對象 284
12.3.2 C++派生類(繼承) 285
12.3.3 虛函數(shù) 287
12.3.4 為什么C++的查找比Smalltalk的查找簡單 288
12.4 子類型 292
12.4.1 子類型原理 292
12.4.2 公有基類 293
12.4.3 public成員的特殊類型 294
12.4.4 抽象基類 294
12.5 多重繼承 295
12.5.1 多重繼承的實(shí)現(xiàn) 296
12.5.2 命名沖突、繼承和虛擬基類 298
12.6 本章小結(jié) 301
習(xí)題 302
第13章 可移植性和安全性:Java語言 319
13.1 Java語言概述 320
13.1.1 Java語言的目標(biāo) 320
13.1.2 設(shè)計(jì)決策 320
13.2 Java的類和繼承 322
13.2.1 類和對象 322
13.2.2 包和可視性 325
13.2.3 繼承 325
13.2.4 抽象類和接口 327
13.3 Java的類型及子類型關(guān)系 328
13.3.1 類型的分類 328
13.3.2 類和接口的子類型關(guān)系 329
13.3.3 數(shù)組、協(xié)變和反協(xié)變 330
13.3.4 Java 異常類的層次關(guān)系 331
13.3.5 子類型多態(tài)和通用編程 333
13.4 Java系統(tǒng)架構(gòu) 336
13.4.1 Java虛擬機(jī) 336
13.4.2 類加載器 337
13.4.3 Java鏈接器、檢驗(yàn)器及類型約束 337
13.4.4 字節(jié)碼解釋器和方法查詢 338
13.5 安全特性 342
13.5.1 緩沖區(qū)泄漏攻擊 343
13.5.2 Java沙箱 344
13.5.3 安全和類型安全 346
13.6 本章小結(jié) 347
習(xí)題 349
第4部分 并發(fā)性與邏輯編程
第14章 并發(fā)和分布式編程 358
14.1 并發(fā)的基本概念 359
14.1.1 執(zhí)行順序和非確定性 359
14.1.2 通信、協(xié)調(diào)和原子性 361
14.1.3 互斥和封鎖 361
14.1.4 信號量 364
14.1.5 管程 365
14.2 Actor模型 366
14.3 并發(fā)ML 369
14.3.1 線程和通道 369
14.3.2 選擇式通信和保護(hù)命令 371
14.3.3 一流的同步操作:事件 373
14.4 Java的并發(fā)性 377
14.4.1 線程、通信與同步 378
14.4.2 同步方法 380
14.4.3 虛擬機(jī)與存儲模型 382
14.4.4 分布式程序設(shè)計(jì)與遠(yuǎn)程方法調(diào)用 386
14.5 本章小結(jié) 388
習(xí)題 390
第15章 邏輯編程范例和Prolog 396
15.1 邏輯編程的歷史 396
15.2 邏輯編程范例的簡要概述 397
15.2.1 說明性編程 397
15.2.2 交互編程 397
15.3 作為原子動(dòng)作統(tǒng)一解決的等式 398
15.3.1 項(xiàng) 398
15.3.2 置換 399
15.3.3 最通用的合一置換 399
15.3.4 合一算法 400
15.4 子句作為過程聲明的一部分 402
15.4.1 簡單子句 402
15.4.2 計(jì)算過程 402
15.4.3 子句 404
15.5 Prolog編程 405
15.5.1 單個(gè)程序的多重使用 405
15.5.2 邏輯變量 406
15.6 Prolog中的數(shù)學(xué) 409
15.6.1 數(shù)學(xué)運(yùn)算符 410
15.6.2 數(shù)學(xué)比較關(guān)系 410
15.6.3 對算術(shù)表達(dá)式的賦值 412
15.7 控制、雙性語法和元變量 414
15.7.1 剪切 414
15.7.2 雙性語法和元變量 415
15.7.3 控制設(shè)備 416
15.7.4 失敗的否定 418
15.7.5 高階編程和Prolog中的元編程 419
15.8 Prolog的評價(jià) 421
15.9 書目評價(jià) 423
15.10 本章小結(jié) 423
附錄A 程序?qū)嵗a(bǔ)充 425
A.1 程序和面向?qū)ο髾C(jī)制 425
A.1.1 類型的程序:典型案例版本 426
A.1.2 shape程序:面向?qū)ο蟀姹?430
附錄B 術(shù)語表 433

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號