电子书: |  中文书: |  英文书: |  今日新增: |  用户: |  欢迎新用户:
 最新动态:
网站已完美运行了:
交流群1
936073884
联系我
948870341@qq.com
点击这里给我发消息
原创

代码之髓:编程语言核心概念.pdf 超清文字版

2019-11-11 14:32:11 rejoice 134 0
下载方式: 百度网盘下载 类别: 电子书 中文电子书,中文编程电子书 大小:未知
QQ截图20191111142950.png

第 1 章

如何深入高效地学习语言 ................................................................................... 1

1.1 . 在比较中学习 .................................................................................................. 2

语言不同,规则不同 .......................................................................................... 2

C 语言和 Ruby 语言中的真假值 ....................................................................... 3

Java 语言中的真假值 ......................................................................................... 3

1.2 . 在历史中学习 .................................................................................................. 4

理解语言设计者的意图 ...................................................................................... 4

应该学哪种语言,我们无从所知 ..................................................................... 4

学习适用于各种语言的知识 .............................................................................. 5

1.3 . 小结 ..................................................................................................................... 6

第 2 章

程序设计语言诞生史 .............................................................................................. 7

2.1 . 程序设计语言诞生的历史 ......................................................................... 8

连接电缆 .............................................................................................................. 8

程序内置 .............................................................................................................. 9

FORTRAN 语言问世 . ........................................................................................ 10

2.2 . 程序设计语言产生的原因 ...................................................................... 11

懒惰:程序员的三大美德之一 ........................................................................ 11

语言们各有各的便捷 ........................................................................................ 12

2.3 . 小结 .................................................................................................................. 13

第 3 章

语法的诞生 ................................................................................................................. 15

3.1 . 什么是语法 ................................................................................................... 16

运算符的优先顺序 ............................................................................................ 16

语法是语言设计者制定的规则 ........................................................................ 17

3.2 . 栈机器和 FORTH 语言 . ........................................................................... 17

计算的流程 ........................................................................................................ 18

如何表达计算顺序 ............................................................................................ 18

现在仍然使用的栈机器 .................................................................................... 19

3.3 . 语法树和 LISP 语言 .................................................................................. 20

计算流 ................................................................................................................ 20

如何表达计算顺序 ............................................................................................ 20

现在仍然使用的语法树 .................................................................................... 21

专栏  要确认理解是否正确,首先得表达出来 .......................................... 23

3.4 . 中缀表示法 ................................................................................................... 24

语法分析器 ........................................................................................................ 24

规则的竞争 ........................................................................................................ 25

专栏  当你不知道该学习什么时 .................................................................. 25

3.5 . 小结 .................................................................................................................. 26

第 4 章

程序的流程控制 ...................................................................................................... 27

4.1 . 结构化程序设计的诞生 ........................................................................... 28

4.2 . if 语句诞生以前 ........................................................................................... 28

为什么会有 if 语句 ............................................................................................ 28

为什么会有 if...else 语句 ................................................................................. 30

4.3 . while 语句——让反复执行的 if 语句更简洁 .................................. 33

使用 while 语句的表达方式 ............................................................................ 33

不使用 while 语句的表达方式 ........................................................................ 34

4.4 . for 语句——让数值渐增的 while 语句更简洁 ............................... 35

使用 for 语句的表达方式 ................................................................................. 35

不使用 for 语句的表达方式 ............................................................................. 35

foreach——根据处理的对象来控制循环操作 .............................................. 36

4.5 . 小结 .................................................................................................................. 37

第 5 章

函数 ................................................................................................................................. 39

5.1 . 函数的作用 ................................................................................................... 40

便于理解——如同一个组织 ............................................................................ 40

便于再利用——如同零部件 ............................................................................ 41

程序中再利用的特征 ........................................................................................ 41

5.2 . 返回命令 ........................................................................................................ 42

函数的诞生 ........................................................................................................ 43

记录跳转目的地的专用内存 ............................................................................ 44

专栏  函数命名 ............................................................................................... 45

栈 ......................................................................................................................... 45

5.3 . 递归调用 ........................................................................................................ 47

嵌套结构体的高效处理 .................................................................................... 48

嵌套结构体的处理方法 .................................................................................... 48

5.4 . 小结 .................................................................................................................. 52

第 6 章

错误处理 ...................................................................................................................... 53

6.1 . 程序也会出错 ............................................................................................... 54

6.2 . 如何传达错误 ............................................................................................... 55

通过返回值传达出错信息 ................................................................................ 55

出错则跳转 ........................................................................................................ 58

6.3 . 将可能出错的代码括起来的语句结构 .............................................. 61

John Goodenough 的观点 .............................................................................. 61

引入 CLU 语言 .................................................................................................. 62

引入 C++ 语言 .................................................................................................. 62

引入 Windows NT 3.1 ..................................................................................... 63

6.4 . 出口只要一个 ............................................................................................... 64

为什么引入 finally ............................................................................................. 64

成对操作的无遗漏执行 .................................................................................... 64

6.5 . 何时抛出异常 ............................................................................................... 68

函数调用时参数不足的情况 ............................................................................ 68

数组越界的情况 ................................................................................................ 69

出错后就要立刻抛出异常 ................................................................................ 70

6.6 . 异常传递 ........................................................................................................ 71

异常传递的问题 ................................................................................................ 71

Java 语言的检查型异常 . ................................................................................ 71

检查型异常没有得到普及的原因 ................................................................... 73

专栏  具体的知识和抽象的知识 .................................................................. 73

专栏  学习讲求细嚼慢咽 ............................................................................... 74

6.7 . 小结 .................................................................................................................. 74

专栏  从需要的地方开始阅读 ....................................................................... 75

第 7 章

名字和作用域 ........................................................................................................... 77

7.1 . 为什么要取名 ............................................................................................... 78

怎样取名 ............................................................................................................ 79

名字冲突 ............................................................................................................ 80

如何避免冲突 .................................................................................................... 80

7.2 . 作用域的演变 ............................................................................................... 81

动态作用域 ........................................................................................................ 82

静态作用域 ........................................................................................................ 84

7.3 . 静态作用域是完美的吗 ........................................................................... 88

专栏  其他语言中的作用域 ........................................................................... 88

嵌套函数的问题 ................................................................................................ 89

外部作用域的再绑定问题 ................................................................................ 91

7.4 . 小结 .................................................................................................................. 93

第 8 章

类型 ................................................................................................................................. 95

8.1 . 什么是类型 ................................................................................................... 96

8.2 . 数值的 on 和 off 的表达方式 ................................................................ 97

数位的发明 ........................................................................................................ 97

七段数码管显示器 ............................................................................................ 98

算盘 . .................................................................................................................... 99

8.3 . 一个数位上需要几盏灯泡 ................................................................... 100

从十进制到二进制 ......................................................................................... 100

八进制与十六进制 ......................................................................................... 102

8.4 . 如何表达实数 ............................................................................................ 103

定点数——小数点位置确定 ......................................................................... 103

浮点数——数值本身包含小数部分何处开始的信息 ................................ 104

8.5 . 为什么会出现类型 .................................................................................. 107

没有类型带来的麻烦 ..................................................................................... 107

早期的 FORTRAN 语言中的类型 ................................................................ 108

告诉处理器变量的类型 ................................................................................. 108

隐性类型转换 ................................................................................................. 109

8.6 . 类型的各种展开 ....................................................................................... 111

用户定义型和面向对象 ................................................................................. 112

作为功能的类型 ............................................................................................. 112

总称型、泛型和模板 ..................................................................................... 113

动态类型 ......................................................................................................... 116

类型推断 ......................................................................................................... 118

8.7 . 小结 ............................................................................................................... 122

专栏  先掌握概要再阅读细节 .................................................................... 122

第 9 章

容器和字符串 ........................................................................................................ 125

9.1 . 容器种类多样 ............................................................................................ 126

9.2 . 为什么存在不同种类的容器 .............................................................. 127

数组与链表 ..................................................................................................... 127

链表的长处与短处 ......................................................................................... 130

专栏  大 O 表示法——简洁地表达计算时间和数据量之间的关系 ..... 131

语言的差异 ..................................................................................................... 132

9.3 . 字典、散列、关联数组 ........................................................................ 132

散列表 ............................................................................................................. 133

树 ...................................................................................................................... 134

元素的读取时间 ............................................................................................. 136

没有万能的容器 ............................................................................................. 138

9.4 . 什么是字符 ................................................................................................ 139

字符集和字符的编码方式 ............................................................................. 139

计算机诞生以前的编码 ................................................................................. 140

EDSAC 的字符编码 ....................................................................................... 142

ASCII 时代和 EBCDIC 时代 ......................................................................... 142

日语的编码 ..................................................................................................... 144

Shift_JIS 编码对程序的破坏 ........................................................................ 145

魔术注释符 ..................................................................................................... 147

Unicode 带来了统一 ..................................................................................... 148

9.5 . 什么是字符串 ............................................................................................ 150

带有长度信息的 Pascal 语言字符串和不带这一信息的 C 语言字符串 .... 150

1 个字符为 16 比特的 Java 语言字符串 ..................................................... 153

Python 3 中引入的设计变更 ........................................................................ 153

Ruby 1.9 的挑战 ............................................................................................ 154

9.6 . 小结 ............................................................................................................... 155

第 10 章

并行处理 ................................................................................................................... 157

10.1 . 什么是并行处理 ....................................................................................... 158

10.2 . 细分后再执行 ............................................................................................ 158

10.3 . 交替的两种方法 ....................................................................................... 159

协作式多任务模式——在合适的节点交替 ................................................ 159

抢占式多任务模式——一定时间后进行交替 ............................................ 160

10.4 . 如何避免竞态条件 .................................................................................. 160

竞态条件成立的三个条件 ............................................................................. 161

没有共享——进程和 actor 模型 .................................................................. 162

不修改——const、val、Immutable ........................................................... 164

不介入 ............................................................................................................. 164

10.5 . 锁的问题及对策 ....................................................................................... 166

锁的问题 ......................................................................................................... 166

借助事务内存来解决 ..................................................................................... 167

事务内存的历史 ............................................................................................. 168

事务内存成功吗 ............................................................................................. 169

10.6 . 小结 ............................................................................................................... 170

第 11 章

对象与类 ................................................................................................................... 171

11.1 . 什么是面向对象 ....................................................................................... 172

内涵因语言而异的面向对象 ......................................................................... 172

对象是现实世界的模型 ................................................................................. 174

什么是类 ......................................................................................................... 175

11.2 .  归集变量与函数建立模型的方法 ................................................... 175

11.3 . 方法 1:模块、包 .................................................................................... 176

什么是模块、包 ............................................................................................. 176

用 Perl 语言的包设计对象 ............................................................................ 177

光有模块不够用 ............................................................................................. 178

分开保存数据 ................................................................................................. 179

向参数传递不同的散列 ................................................................................. 179

把初始化处理也放入包中 ............................................................................. 180

把散列和包绑定在一起 ................................................................................. 181

11.4 . 方法 2:把函数也放入散列中 ........................................................... 183

first class ........................................................................................................ 183

把函数放入散列中 ......................................................................................... 184

创建多个计数器 ............................................................................................. 185

把共享的属性放入原型中 ............................................................................. 186

这就是面向对象吗 ......................................................................................... 189

11.5 . 方法 3:闭包 ............................................................................................. 190

什么是闭包 ..................................................................................................... 190

为什么叫做闭包 ............................................................................................. 191

11.6 . 方法 4:类 .................................................................................................. 191

霍尔设想的类 ................................................................................................. 192

C++ 语言中的类 ............................................................................................ 192

功能说明的作用 ............................................................................................. 193

类的三大作用 ................................................................................................. 193

11.7 . 小结 ............................................................................................................... 194

第 12 章

继承与代码再利用 .............................................................................................. 195

12.1 . 什么是继承 ................................................................................................ 196

继承的不同实现策略 ..................................................................................... 197

继承是把双刃剑 ............................................................................................. 199

里氏置换原则 ................................................................................................. 199

12.2 . 多重继承 ..................................................................................................... 201

一种事物在多个分类中 ................................................................................. 201

多重继承对于实现方式再利用非常便利 .................................................... 202

12.3 . 多重继承的问题——还是有冲突 ..................................................... 203

解决方法 1:禁止多重继承 .......................................................................... 205

解决方法 2:按顺序进行搜索 ...................................................................... 207

解决方法 3:混入式处理 .............................................................................. 211

解决方法 4:Trait ........................................................................................... 213

12.4 . 小结 ............................................................................................................... 216

专栏  从头开始逐章手抄 ............................................................................ 217

下载地址:已隐藏,需要2.88积分
方式1(在线支付):点击购买支付成功后,会自动刷新页面显示下载地址,
同时可以在右上角 昵称--个人中心--购买记录中查看且若资源不满意可申请退款
方式2(推荐):升级VIP
0     0     0    
猜您喜欢
风水全真道 虚生上人[www.rejoiceblog.com].azw3 电子书
海底两万里[www.rejoiceblog.com].azw3 电子书
《建筑设计防火规范》图示13J811-1改(2015年修改版)-[www.rejoiceblog.com].pdf 电子书
长安十二时辰(上下册) 马伯庸[www.rejoiceblog.com].azw3 电子书
自己拯救自己[www.rejoiceblog.com].pdf 电子书
条评论
助力榜
更多>>