編程語言原理 pdf epub mobi txt 電子書 下載 2024
☆☆☆☆☆
簡體網頁||
繁體網頁
Robert W. Sebesta
清華大學齣版社
馬躍
2013-3
617
98.00元
9787302311126
圖書標籤:
編程語言
計算機
編譯原理
編程
計算機科學
計算機科學-語言與編譯器
程序設計
PL
喜歡 編程語言原理 的讀者還喜歡
下載链接在页面底部
點擊這裡下載
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
发表于2024-11-25
編程語言原理 epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024
編程語言原理 epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024
編程語言原理 pdf epub mobi txt 電子書 下載 2024
圖書描述
塞巴斯塔編寫的這本《編程語言原理(第10版)》從為什麼學習程序設計語言入手,深入細緻地講解瞭命令式語言的主要結構及其設計與實現,內容涉及變量、數據類型、錶達式和賦值語句、控製語句、子程序、數據抽象機製、對麵嚮對象程序設計的支持(繼承和動態方法綁定)、並發、異常處理和事件處理等方麵。最後兩章介紹瞭函數式程序設計語言和邏輯程序設計語言。
《編程語言原理(第10版)》內容豐富,講解透徹,既可用做高等院校計算機及相關專業本科生程序設計語言課程的教材和參考書,也可供程序設計人員參考。
編程語言原理 下載 mobi epub pdf txt 電子書
著者簡介
Robert W.Sebesta,賓夕法尼亞州立大學獲得計算機科學博士,擁有30多年的教授計算機科學課程的經驗。目前擔任科羅拉多大學科羅拉多斯普林斯分校計算機科學係的副教授、ACM和IEEE計算機學會的會員,主要研究方嚮是設計和評估程序設計語言、編譯器設計以及軟件測試方法和工具。
圖書目錄
目錄
第1章 預備知識
1.1 學習程序設計語言原理的原因
1.2 程序設計領域
1.2.1 科學應用
1.2.2 商務應用
1.2.3 人工智能
1.2.4 係統程序設計
1.2.5 網絡軟件
1.3 語言評價標準
1.3.1 可讀性
1.3.2 可寫性
1.3.3 可靠性
1.3.4 成本
1.4 影響語言設計的因素
1.4.1 計算機體係結構
1.4.2 程序設計方法學
1.5 程序設計語言的分類
1.6 語言設計中的權衡
1.7 實現方法
1.7.1 編譯
1.7.2 完全解釋
1.7.3 混閤實現係統
1.7.4 預處理器
1.8 編程環境
第2章 主要程序設計語言的發展
2.1 Zuse的Plankalkül語言
2.1.1 曆史背景
2.1.2 語言概述
2.2 僞代碼
2.2.1 Short Code語言
2.2.2 Speedcoding係統
2.2.3 UNIVAC“編譯”係統
2.2.4 相關工作
2.3 IBM 704計算機與Fortran語言
2.3.1 曆史背景
2.3.2 設計過程
2.3.3 Fortran I概述
2.3.4 Fortran II
2.3.5 Fortran IV、77、90、95、2003和2008
2.3.6 評價
2.4 函數式程序設計:LISP語言
2.4.1 人工智能的起源和錶處理
2.4.2 LISP語言的設計過程
2.4.3 語言概述
2.4.4 評價
2.4.5 LISP的兩種後代語言
2.4.6 相關語言
2.5 邁嚮成熟的第一步:ALGOL 60
2.5.1 曆史背景
2.5.2 早期設計過程
2.5.3 ALGOL 58概述
2.5.4 對ALGOL 58報告的響應
2.5.5 ALGOL 60的設計過程
2.5.6 ALGOL 60概述
2.5.7 評價
2.6 商務記錄的計算機化:COBOL語言
2.6.1 曆史背景
2.6.2 FLOW-MATIC語言
2.6.3 COBOL語言的設計過程
2.6.4 評價
2.7 分時處理的開始:BASIC語言
2.7.1 設計過程
2.7.2 語言概述
2.7.3 評價
2.8 滿足所有人的需要:PL/I
2.8.1 曆史背景
2.8.2 設計過程
2.8.3 語言概述
2.8.4 評價
2.9 兩種早期的動態語言:APL和SNOBOL
2.9.1 APL語言的起源與特點
2.9.2 SNOBOL語言的起源與特點
2.10 數據抽象的開始:SIMULA 67
2.10.1 設計過程
2.10.2 語言概述
2.11 正交設計:ALGOL 68
2.11.1 設計過程
2.11.2 語言概述
2.11.3 評價
2.12 ALGOL係列語言的早期後代語言
2.12.1 為簡單性而設計:Pascal語言
2.12.2 可移植的係統語言:C語言
2.13 基於邏輯的程序設計:Prolog語言
2.13.1 設計過程
2.13.2 語言概述
2.13.3 評價
2.14 曆史上規模最大的設計工作:Ada語言
2.14.1 曆史背景
2.14.2 設計過程
2.14.3 語言概述
2.14.4 評價
2.14.5 Ada 95和Ada 2005
2.15 麵嚮對象的程序設計:Smalltalk
2.15.1 設計過程
2.15.2 語言概述
2.15.3 評價
2.16 結閤命令式和麵嚮對象的特性:C++
2.16.1 設計過程
2.16.2 語言概述
2.16.3 評價
2.16.4 一種相關語言:Objective-C
2.16.5 另一種相關語言:Delphi
2.16.6 一種關係不大的語言:Go
2.17 基於命令式的麵嚮對象語言:Java
2.17.1 設計過程
2.17.2 語言概述
2.17.3 評價
2.18 腳本語言
2.18.1 Perl的起源與特點
2.18.2 JavaScript的起源與特點
2.18.3 PHP的起源與特點
2.18.4 Python的起源與特點
2.18.5 Ruby的起源與特點
2.18.6 Lua的起源與特點
2.19 一流的.NET語言:C#
2.19.1 設計過程
2.19.2 語言概述
2.19.3 評價
2.20 標記與程序設計混閤的語言
2.20.1 XSLT
2.20.2 JSP
第3章 描述語法和語義
3.1 概述
3.2 描述語法的普遍問題
3.2.1 語言識彆器
3.2.2 語言生成器
3.3 描述語法的形式化方法
3.3.1 巴科斯-諾爾範式和上下文無關文法
3.3.2 擴展的BNF
3.3.3 文法與識彆器
3.4 屬性文法
3.4.1 靜態語義
3.4.2 基本概念
3.4.3 屬性文法定義
3.4.4 本質屬性
3.4.5 屬性文法的例子
3.4.6 計算屬性值
3.4.7 評價
3.5 描述程序的意義:動態語義
3.5.1 操作語義
3.5.2 指稱語義
3.5.3 公理語義
第4章 詞法分析和語法分析
4.1 概述
4.2 詞法分析
4.3 語法分析問題
4.3.1 語法分析概述
4.3.2 自頂嚮下的語法分析器
4.3.3 自底嚮上的語法分析器
4.3.4 語法分析的復雜度
4.4 遞歸下降的語法分析
4.4.1 遞歸下降的語法分析過程
4.4.2 LL文法類
4.5 自下而上的語法分析
4.5.1 自下而上的語法分析器的分析問題
4.5.2 移進-歸約算法
4.5.3 LR語法分析器
第5章 名字、綁定和作用域
5.1 概述
5.2 名字
5.2.1 設計問題
5.2.2 名字形式
5.2.3 特殊字
5.3 變量
5.3.1 名字
5.3.2 地址
5.3.3 類型
5.3.4 數值
5.4 綁定的概念
5.4.1 屬性與變量綁定
5.4.2 綁定類型
5.4.3 存儲綁定和生存期
5.5 作用域
5.5.1 靜態作用域
5.5.2 塊
5.5.3 聲明的次序
5.5.4 全局作用域
5.5.5 靜態作用域的評價
5.5.6 動態作用域
5.5.7 動態作用域的評價
5.6 作用域和生存期
5.7 引用環境
5.8 命名常量
第6章 數據類型
6.1 概述
6.2 基本數據類型
6.2.1 數值類型
6.2.2 布爾類型
6.2.3 字符類型
6.3 字符串類型
6.3.1 設計問題
6.3.2 字符串及其操作
6.3.3 字符串長度的設計選項
6.3.4 評價
6.3.5 字符串類型的實現
6.4 用戶定義的序數類型
6.4.1 枚舉類型
6.4.2 子界類型
6.4.3 實現用戶定義的有序類型
6.5 數組類型
6.5.1 設計問題
6.5.2 數組和索引
6.5.3 下標的綁定和數組的種類
6.5.4 數組的初始化
6.5.5 數組操作
6.5.6 矩形數組和不規則數組
6.5.7 切片
6.5.8 評價
6.5.9 數組類型的實現
6.6 關聯數組
6.6.1 結構和操作
6.6.2 關聯數組的實現
6.7 記錄類型
6.7.1 記錄的定義
6.7.2 記錄域的引用
6.7.3 評價
6.7.4 記錄類型的實現
6.8 元組類型
6.9 列錶類型
6.10 聯閤類型
6.10.1 設計問題
6.10.2 判彆式聯閤與自由聯閤
6.10.3 Ada的聯閤類型
6.10.4 F#的聯閤類型
6.10.5 評價
6.10.6 聯閤類型的實現
6.11 指針和引用類型
6.11.1 設計問題
6.11.2 指針操作
6.11.3 指針的相關問題
6.11.4 Ada中的指針
6.11.5 C和C++中的指針
6.11.6 引用類型
6.11.7 評價
6.11.8 指針和引用類型的實現
6.12 類型檢查
6.13 強類型化
6.14 類型等價
6.15 理論和數據類型
第7章 錶達式與賦值語句
7.1 概述
7.2 算術錶達式
7.2.1 運算符的運算順序
7.2.2 操作數的運算順序
7.3 運算符重載
7.4 類型轉換
7.4.1 錶達式中的強製類型轉換
7.4.2 顯式類型轉換
7.4.3 錶達式中的錯誤
7.5 關係錶達式和布爾錶達式
7.5.1 關係錶達式
7.5.2 布爾錶達式
7.6 短路求值
7.7 賦值語句
7.7.1 簡單賦值
7.7.2 條件賦值
7.7.3 混閤賦值運算符
7.7.4 一元賦值運算符
7.7.5 賦值錶達式
7.7.6 多重賦值
7.7.7 函數式編程語言中的賦值
7.8 混閤模式賦值
第8章 語句級控製結構
8.1 概述
8.2 選擇語句
8.2.1 雙路選擇語句
8.2.2 多重選擇結構
8.3 迭代語句
8.3.1 計數控製循環
8.3.2 邏輯控製循環
8.3.3 用戶自定義的循環控製機製
8.3.4 基於數據結構的迭代
8.4 無條件分支
8.5 防護命令
8.6 結論
第9章 子程序
9.1 概述
9.2 子程序的基本原理
9.2.1 子程序的一般性質
9.2.2 子程序的基本定義
9.2.3 參數
9.2.4 過程與函數
9.3 子程序的設計問題
9.4 局部引用環境
9.4.1 局部變量
9.4.2 嵌套子程序
9.5 參數傳遞方式
9.5.1 參數傳遞的語義模型
9.5.2 參數傳遞的實現模型
9.5.3 參數傳遞方法的實現
9.5.4 常見語言的參數傳遞方法
9.5.5 參數的類型檢查
9.5.6 多維數組作為參數
9.5.7 設計考慮
9.5.8 參數傳遞的例子
9.6 子程序作為參數
9.7 間接調用子程序
9.8 重載子程序
9.9 泛型子程序
9.9.1 C++中的泛型函數
9.9.2 Java 5.0中的泛型方法
9.9.3 C# 2005中的泛型方法
9.9.4 F#中的泛型函數
9.10 函數的設計問題
9.10.1 函數的副作用
9.10.2 返迴值的類型
9.10.3 返迴值的個數
9.11 用戶定義重載運算符
9.12 閉包
9.13 協同程序
第10章 實現子程序
10.1 調用和返迴的一般語義
10.2 實現“簡單”的子程序
10.3 通過棧動態局部變量實現子程序
10.3.1 更復雜的活動記錄
10.3.2 一個不含遞歸調用的例子
10.3.3 遞歸調用
10.4 嵌套子程序
10.4.1 基礎知識
10.4.2 靜態鏈
10.5 塊
10.6 動態作用域的實現
10.6.1 深層訪問
10.6.2 淺層訪問
第11章 抽象數據類型與封裝結構
11.1 抽象的概念
11.2 數據抽象簡介
11.2.1 抽象數據類型之浮點型
11.2.2 用戶自定義的抽象數據類型
11.2.3 示例
11.3 抽象數據類型的設計問題
11.4 語言示例
11.4.1 Ada中的抽象數據類型
11.4.2 C++中的抽象數據類型
11.4.3 Objective-C中的抽象數據類型
11.4.4 Java中的抽象數據類型
11.4.5 C#中的抽象數據類型
11.4.6 Ruby中的抽象數據類型
11.5 參數化的抽象數據類型
11.5.1 Ada
11.5.2 C++
11.5.3 Java 5.0
11.5.4 C# 2005
11.6 封裝結構
11.6.1 引言
11.6.2 C中的封裝
11.6.3 C++中的封裝
11.6.4 Ada包
11.6.5 C#程序集
11.7 命名封裝
11.7.1 C++命名空間
11.7.2 Java包
11.7.3 Ada包
11.7.4 Ruby模塊
第12章 麵嚮對象程序設計的支持
12.1 概述
12.2 麵嚮對象編程
12.2.1 引言
12.2.2 繼承
12.2.3 動態綁定
12.3 麵嚮對象語言的設計問題
12.3.1 對象的排他性
12.3.2 子類是子類型嗎
12.3.3 單繼承與多繼承
12.3.4 對象的分配和釋放
12.3.5 動態綁定與靜態綁定
12.3.6 嵌套類
12.3.7 對象的初始化
12.4 Smalltalk對麵嚮對象編程的支持
12.4.1 一般特徵
12.4.2 繼承
12.4.3 動態綁定
12.4.4 Smalltalk的評價
12.5 C++對麵嚮對象編程的支持
12.5.1 一般特徵
12.5.2 繼承
12.5.3 動態綁定
12.5.4 評價
12.6 Objective-C對麵嚮對象編程的支持
12.6.1 一般特徵
12.6.2 繼承
12.6.3 動態綁定
12.6.4 評價
12.7 Java對麵嚮對象編程的支持
12.7.1 一般特徵
12.7.2 繼承
12.7.3 動態綁定
12.7.4 被嵌套的類
12.7.5 評價
12.8 C#對麵嚮對象編程的支持
12.8.1 一般特徵
12.8.2 繼承
12.8.3 動態綁定
12.8.4 被嵌套的類
12.8.5 評價
12.9 Ada 95對麵嚮對象編程的支持
12.9.1 一般特徵
12.9.2 繼承
12.9.3 動態綁定
12.9.4 子包
12.9.5 評價
12.10 Ruby對麵嚮對象編程的支持
12.10.1 一般特徵
12.10.2 繼承
12.10.3 動態綁定
12.10.4 評價
12.11 麵嚮對象構造的實現
12.11.1 存儲實例數據
12.11.2 方法調用到方法的動態綁定
第13章 並發
13.1 概述
13.1.1 多處理器體係結構
13.1.2 並發的種類
13.1.3 使用並發的目的
13.2 子程序級並發概述
13.2.1 基本概念
13.2.2 為並發而設計的語言
13.2.3 設計問題
13.3 信號量
13.3.1 概述
13.3.2 閤作同步
13.3.3 競爭同步
13.3.4 評價
13.4 管程
13.4.1 概述
13.4.2 競爭同步
13.4.3 閤作同步
13.4.4 評價
13.5 消息傳遞
13.5.1 概述
13.5.2 同步消息傳遞的原理
13.6 Ada對並發的支持
13.6.1 基本原理
13.6.2 閤作同步
13.6.3 競爭同步
13.6.4 任務終止
13.6.5 優先級
13.6.6 受保護對象
13.6.7 評價
13.7 Java綫程
13.7.1 Thread類
13.7.2 優先級
13.7.3 信號量
13.7.4 競爭同步
13.7.5 閤作同步
13.7.6 非阻塞同步
13.7.7 顯式鎖定
13.7.8 評價
13.8 C#綫程
13.8.1 基本綫程操作
13.8.2 同步綫程
13.8.3 評價
13.9 函數式語言中的並發
13.9.1 Multilisp
13.9.2 並發ML
13.9.3 F#
13.10 語句級並發
第14章 異常處理和事件處理
14.1 異常處理概述
14.1.1 基本概念
14.1.2 設計問題
14.2 Ada中的異常處理
14.2.1 異常處理程序
14.2.2 將異常綁定到處理程序
14.2.3 繼續
14.2.4 其他設計選擇
14.2.5 例子
14.2.6 評價
14.3 C++中的異常處理
14.3.1 異常處理程序
14.3.2 異常與處理程序的綁定
14.3.3 繼續
14.3.4 其他設計選擇
14.3.5 例子
14.3.6 評價
14.4 Java中的異常處理
14.4.1 異常類
14.4.2 異常處理程序
14.4.3 異常與處理程序的綁定
14.4.4 其他設計選擇
14.4.5 例子
14.4.6 finally子句
14.4.7 斷言
14.4.8 評價
14.5 事件處理概述
14.6 Java的事件處理
14.6.1 Java Swing的GUI組件
14.6.2 Java事件模型
14.7 C#中的事件處理
第15章 函數式程序設計語言
15.1 概述
15.2 數學函數
15.2.1 簡單函數
15.2.2 函數形式
15.3 函數式程序設計語言基礎
15.4 第一種函數式程序設計語言LISP
15.4.1 數據類型和結構
15.4.2 第一個LISP解釋器
15.5 Scheme概述
15.5.1 Scheme的起源
15.5.2 Scheme解釋器
15.5.3 基本數值函數
15.5.4 定義函數
15.5.5 輸齣函數
15.5.6 數值謂詞函數
15.5.7 控製流
15.5.8 錶函數
15.5.9 用於符號原子和錶的謂詞函數
15.5.10 Scheme函數示例
15.5.11 LET
15.5.12 Scheme中的尾遞歸
15.5.13 函數形式
15.5.14 構建代碼的函數
15.6 Common LISP
15.7 ML
15.8 Haskell
15.9 F#
15.10 基本命令式語言對函數式編程的支持
15.11 函數式語言和命令式語言的比較
第16章 邏輯程序設計語言
16.1 概述
16.2 謂詞演算簡介
16.2.1 命題
16.2.2 子句形式
16.3 謂詞演算與定理證明
16.4 邏輯程序設計概述
16.5 Prolog的起源
16.6 Prolog的基本元素
16.6.1 項
16.6.2 事實語句
16.6.3 規則語句
16.6.4 目標語句
16.6.5 Prolog的推理過程
16.6.6 簡單算術
16.6.7 錶結構
16.7 Prolog存在的缺陷
16.7.1 歸結的順序控製
16.7.2 封閉世界假設
16.7.3 否定問題
16.7.4 固有的限製
16.8 邏輯程序設計的應用
16.8.1 關係數據庫管理係統
16.8.2 專傢係統
16.8.3 自然語言處理
參考文獻
· · · · · · (
收起)
編程語言原理 pdf epub mobi txt 電子書 下載
用戶評價
評分
☆☆☆☆☆
講瞭各種語言的錶層的邏輯,沒有講具體的實現原則,結閤一定的編譯器知識、語言設計知識再看也許更好。
評分
☆☆☆☆☆
《程序設計語言原理 》
評分
☆☆☆☆☆
說實話,這本書無論是對編程新手還是碰過三四門語言的人來說,都不是一本值得花時間看的書。我前麵看的很細,一開始說程序語言發展的曆史我還是比較感興趣的,後麵慢慢就變成針對編程語言的不同特性羅列各種不同語言的設計實現,往往也一筆而過,作者想說的太多,但寫得又太少,最後成為介紹性的大雜燴
評分
☆☆☆☆☆
太淺瞭,但有些關鍵點說的比較清晰
評分
☆☆☆☆☆
讀瞭1、2、6、9、10、11、12章,書中多是不同語言語法特性的羅列,沒有我更想知道的why、具體的實現機理。
讀後感
評分
☆☆☆☆☆
这本书的名气很大,很多人说是经典之作。 读过后是什么感觉呢?就是没什么感觉。读之前对程序语言有多少困惑和不解,读之后还是有多少困惑和不解。 为什么,因为书里对各种语言的叙述更多停留在语法层面上,是的,不同语言的语法是不一样的。但是为什么新的语言引入了一种东...
評分
☆☆☆☆☆
清华出烂书,传统一直没有变。 这本书本身是不错的,但是翻译错误实在多了些,甚至有些都是排版引起的逻辑性错误。 看这书,做好和英文版本对比着看的心理准备吧,否者有些章节,比如讲解BNF和EBNF的地方,就让你一头雾水。
評分
☆☆☆☆☆
在读,不求甚解 只因为很多内容不能在自己的脑海中形成自己的体系,一些基本功有所欠缺所致 读到中间部分了,对于程序设计语言的历史,一些程序语言的特点及一些常见结构的形成原因有所了解,比如字符串,知道为什么会有字符串这个数据类型,在不同的语言中对于这个数据类型的...
評分
☆☆☆☆☆
我有个“坏习惯”:碰到我买到的书都要评论,呵呵。 《概念》我也买了,不过买的是第 5 版的英文版。这本书我比较欣赏的是她介绍语言发展的部分《Evolution of the Major Programming Languages》(即:《主流程序设计语言的演化》),从我之前听都没听过的 Zuse Plankalkal ...
評分
☆☆☆☆☆
作为一个程序员,一般只有精通一门程序设计语言就可以胜任当前的工作了。当往往进入一个新的项目,或者重新选择一份工作,或者自己发现当前的所使用的程序语言对于有些问题的解决,用着不是那么方便,这个时候我们就倾向于去寻求一种合适的语言。比如,我最近在工作过程中...
類似圖書 點擊查看全場最低價
編程語言原理 pdf epub mobi txt 電子書 下載 2024