我们程序员 : 从代码诞生到AI兴起

本网站不提供下载链接,喜欢看书的朋友请关注公众号:【lennylee的碎碎念】(lennyleede),首页回复:授人以渔,自动获取搜索资源的方法。

内容简介:

你和我,我们程序员掌控世界:跨越半个世纪的编码文明史

在本书中,软件行业传奇人物罗伯特·C.马丁(人称Uncle Bob,鲍勃大叔)携我们步入计算机编程的天地,将我们的目光聚焦在凭借聪明才智与顽强意志改变世界的人物的生命轨迹。从查尔斯·巴贝奇(CharlesBabbage)、阿达·洛芙莱斯(Ada Lovelace),到艾伦·图灵(Alan Turing)、格蕾丝·霍珀(Grace Hopper)与丹尼斯·里奇(Dennis Ritchie),探寻这些为现代计算技术奠定基础的开创性先驱者们的人生故事,描述他们披荆斩棘的求索历程。

这部具有回忆录特质的科技史著作宛如一幅波澜壮阔的历史长卷,蕴含着深邃的技术洞见,深入剖析了在比特和字节层面缔造计算技术的编程突破。本书穿越时空,将技术奇迹与背后的鲜活人物事迹相结合,让读者一窥那些推动技术巨轮滚滚向前的先驱者所经历的奋斗历程。他们的故事并非只有鲜花和掌声,还有至暗时刻的挣扎——资金枯竭、上司的否定、重大失败和患上致命疾病,也曾无情地折磨他们。他们的经历与计算技术本身的演进轨迹交融成画,编程领域也从最初的草创时期发展到如今云计算和AlI兴盛的时代。书中不仅勾勒出计算领域的进化脉络,还探讨了Al技术如何改变编程的未来走向,以及由此衍生出的伦理挑战。

核心议题

了解编程的起源,及其如何塑造了当今的技术格局。

编程先驱者的人文侧写——是什么驱动他们不断前行,他们又跨越了哪些障碍。从汇编语言萌芽到面向对象语言崛起的关键技术突破。

第二次世界大战对推动计算机科学发展的历史性作用。关于Al伦理及编程未来的深刻洞见与前瞻性预测。

作者简介:

罗伯特·C.马丁(Uncle Bob)自1970年起投身编程与软件开发领域,担任程序员和软件开发专家。马丁是Uncle Bob咨询公司的创始人,并与他的儿子米卡·马丁(Micah Martin)共同创立了Clean Coders公司。马丁在各类行业期刊上发表了数十篇文章,是国际会议和行业展览上的常驻演讲嘉宾。他著有多部书籍,包括《敏捷软件开发:原则、模式和实践》《UML: Java程序员指南》《代码整洁之道》《程序员的职业素养》《整洁架构之道》《敏捷整洁之道》《匠艺整洁之道》及《函数式设计:原则、模式与实践》。马丁曾担任C++Report杂志主编三年,并担任敏捷联盟的首任主席,其思想持续塑造全球软件开发的实践模式与发展路径。

第Ⅰ部分 开端
第1章 我们是谁? 3
第Ⅱ部分 技术巨擘
第2章 巴贝奇:第一位计算机工程师 11
2.1 生平 11
2.2 数学用表 12
2.2.1 制表之道 12
2.2.2 有限差分法 14
2.3 巴贝奇的远见 17
2.4 差分机 18
2.5 机械的符号系统 19
2.6 派对魔术 20
2.7 差分机的终结 20
2.8 分析机 22
2.9 阿达:洛芙莱斯伯爵夫人 23
2.10 第一位程序员? 26
2.11 未竟之宏愿 27
2.12 结论 29
参考文献 29
第3章 希尔伯特、图灵与冯 · 诺伊曼: 第一代计算机架构师 31
3.1 大卫·希尔伯特 31
3.1.1 哥德尔 33
3.1.2 反犹主义风暴 35
3.2 约翰·冯·诺伊曼 36
3.3 艾伦·图灵 38
3.4 图灵-冯·诺伊曼架构 40
3.4.1 图灵的机器 40
3.4.2 冯·诺伊曼的历程 44
参考文献 49
第4章 格蕾丝 · 霍珀:第一位软件工程师 51
4.1 军旅生涯:1944年夏天 52
4.2 规范:1944—1945年 55
4.3 子程序:1944—1946年 58
4.4 研讨会:1947年 59
4.5 UNIVAC:1949—1951年 60
4.6 排序与编译器的起源 64
4.7 酗酒:大约1949年 64
4.8 编译器:1951—1952年 65
4.9 A类编译器 66
4.10 编程语言:1953—1956年 68
4.11 COBOL:1955—1960年 69
4.12 我对COBOL的吐槽 72
4.13 无可争议的成功 72
参考文献 73
第5章 约翰 · 巴克斯:第一种高级语言 75
5.1 生平 75
5.2 令人着迷的彩色灯光 76
5.3 快速编码与701计算机 78
5.4 对速度的需求 80
5.4.1 分工 84
5.4.2 我对FORTRAN的吐槽 85
5.5 算法语言(Algol)及其他 85
参考文献 87
第6章 艾兹格 · 迪杰斯特拉:第一位计算机科学家 89
6.1 生平 89
6.2 ARRA计算机:1952—1955年 91
6.3 ARMAC计算机:1955—1958年 94
6.4 ALGOL语言与X1计算机:1958—1962年 95
6.5 阴霾如墨渐漫:1962年 98
6.6 计算机科学的崛起:1963—1967年 99
6.6.1 科学性 100
6.6.2 信号量 100
6.6.3 结构化编程 101
6.6.4 数学证明的迷思 101
6.7 数学:1968年 102
6.8 结构化编程:1968年 104
参考文献 107
第7章 尼加德与达尔:第一种面向对象编程语言 109
7.1 克里斯滕·尼加德 109
7.2 奥莱-约翰·达尔 110
7.3 Simula语言与面向对象编程 111
参考文献 119
第8章 约翰 · 凯梅尼:第一种“大众化”编程语言——BASIC 121
8.1 约翰·凯梅尼的生平 121
8.2 托马斯·库尔茨的生平 123
8.3 革命性的想法 123
8.4 看似不可能的任务 124
8.5 BASIC语言 125
8.6 分时系统 126
8.7 操作计算机的青少年 127
8.8 转型 127
8.9 盲目先知 128
8.9.1 共生关系? 128
8.9.2 预言 129
8.10 雾里看花 132
参考文献 132
第9章 朱迪思 · 艾伦 133
9.1 ECP-18计算机 133
9.2 朱迪思的经历 134
9.3 辉煌的职业生涯 137
参考文献 138
第10章 汤普森、里奇与克尼汉 139
10.1 肯·汤普森 139
10.2 丹尼斯·里奇 141
10.3 布莱恩·克尼汉 144
10.3.1 Multics系统 145
10.3.2 PDP-7与《太空旅行》游戏 147
10.4 UNIX操作系统 149
10.5 PDP-11计算机 151
10.6 C语言 153
10.7 克尼汉和里奇 155
10.7.1 说服与合作 157
10.7.2 软件工具 157
参考文献 158
第Ⅲ部分 技术拐点
第11章 20世纪60年代 163
11.1 ECP-18 166
11.2 父亲的支持和鼓励 168
第12章 20世纪70年代 169
12.1 1969年 169
12.2 1970年 172
12.3 1973年 174
12.4 1974年 176
12.5 1976年 179
12.6 1978年 182
12.7 1979年 183
参考文献 184
第13章 20世纪80年代 185
13.1 1980年 185
13.1.1 系统管理员 186
13.1.2 pCCU 187
13.2 1981年 188
13.2.1 DLU/DRU 188
13.2.2 苹果Ⅱ 189
13.2.3 新产品 190
13.3 1982年 190
13.4 1983年 192
13.4.1 麦金塔内部剖析 192
13.4.2 电子公告板系统(BBS) 193
13.4.3 泰瑞达公司的C语言 193
13.5 1984—1986年:语音响应系统(VRS) 193
13.6 1986年 194
13.6.1 技工派遣系统(CDS) 195
13.6.2 字段标记数据(FLD) 195
13.6.3 有限状态机 196
13.6.4 面向对象编程(OOP) 196
13.7 1987—1988年:英国 197
参考文献 198
第14章 20世纪90年代 199
14.1 1989—1992年:克利尔通信公司 199
14.1.1 Usenet 200
14.1.2 Uncle Bob 200
14.2 1992年:C++ Report 201
14.3 1993年:Rational公司 201
14.4 1994年:教育考试服务中心(ETS) 203
14.4.1 C++ Report专栏 204
14.4.2 模式 204
14.5 1995—1996年:第一本书、会议、课程及OM公司 205
14.6 1997—1999年:C++ Report、统一建模语言(UML)和互联网泡沫 206
14.7 1999—2000年:极限编程 207
参考文献 209
第15章 千禧年 211
15.1 2000年:极限编程(XP)领导力 211
15.2 2001年:敏捷开发的兴起和互联网泡沫的破裂 212
15.3 2002—2008年:在困境中彷徨 213
15.4 2009年:《计算机程序的构造和解释》与色度键 214
15.4.1 视频 215
15.4.2 cleancoders.com 215
15.5 2010—2023年:视频、技艺与专业精神 216
15.5.1 敏捷开发偏离正轨 216
15.5.2 更多书籍 217
15.5.3 疫情期间 217
15.6 2023年:发展停滞期 217
参考文献 218
第IV部分 未来
第16章 编程语言 223
16.1 数据类型 224
16.2 Lisp 225
第17章 人工智能 227
17.1 人类大脑 227
17.2 神经网络 229
17.3 构建神经网络并非编程 230
17.4 大语言模型 230
17.5 大型X模型的影响 235
第18章 硬件 237
18.1 摩尔定律 238
18.1.1 多核 238
18.1.2 云计算 238
18.1.3 平台期 238
18.2 量子计算机 239
第19章 万维网 241
第20章 未来的编程 245
20.1 航空类比 245
20.2 设计原则 246
20.3 方法 246
20.4 规范 246
20.5 职业道德 247
参考文献 247
后记 249
术语表 257
其他重要人物名录 273
· · · · · · (收起)

原文摘录: