程序设计实践:英文版

程序设计实践:英文版
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Brian W. Kernighan) , [美] (Rob Pike)
2016-01
版次: 1
ISBN: 9787115407863
定价: 49.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 251页
字数: 373千字
正文语种: 英语
原版书名: The practice of programming
93人买过
  • 本书是计算机科学方面的经典名著,由计算机界极具影响力的两位专家Brian W. Kernighan和Rob Pike合著。书的内容围绕程序设计实践中的一系列问题展开,讲述对于程序员有共性的知识,以帮助各程序员写出更高效的程序。本书从排错、测试、性能、可移植性、设计、界面、风格和记法等方面,讨论了程序设计中既具有实际意义又具有广泛意义的思想、技术和方法。
    本书值得每位梦想并努力成为程序员的人参考,值得每位计算机专业的学生和计算机工作者阅读,也适合作为程序设计高级课程的教材或参考书。 Brain Kernighan计算机科学家,曾与UNIX的缔造者Ken Thompson和Dennis Ritchie一起在贝尔实验室工作。他也是AWK和AMPL程序设计语言的共同作者。“K&R C”和“AWK”中的“K”都是指“Kernighan”。2000年起,他在普林斯顿大学计算机科学系任教授,并任本科部代表。
    Rob Pike 软件工程师。他在贝尔实验室任职期间,作为UNIX小组成员参与开发了Plan 9和Inferno操作系统以及Limbo程序设计语言。目前他在Google公司工作,参与了Go和Sawzall程序设计语言的开发。 Chapter 1: Style / 风格 1
    1.1 Names / 名字 3
    1.2 Expressions and Statements / 表达式和语句6
    1.3 Consistency and Idioms / 一致性和习惯用语10
    1.4 Function Macros / 函数宏17
    1.5 Magic Numbers / 幻数19
    1.6 Comments / 注释23
    1.7 Why Bother? / 为何要在风格方面费心 27

    Chapter 2: Algorithms and Data Structures / 算法与数据结构29
    2.1 Searching / 检索30
    2.2 Sorting / 排序32
    2.3 Libraries / 库34
    2.4 A Java Quicksort / 一个Java快速排序实现37
    2.5 O-Notation / 大O记法40
    2.6 Growing Arrays / 自增长数组41
    2.7 Lists / 表44
    2.8 Trees / 树50
    2.9 Hash Tables / 散列表55
    2.10 Summary / 小结 58

    Chapter 3: Design and Implementation / 设计与实现61
    3.1 The Markov Chain Algorithm / 马尔可夫链算法62
    3.2 Data Structure Alternatives / 在多种数据结构之间选择64
    3.3 Building the Data Structure in C / 使用C语言构建数据结构65
    3.4 Generating Output / 生成输出69
    3.5 Java 71
    3.6 C++ 76
    3.7 Awk and Perl / Awk和Perl 78
    3.8 Performance / 性能80
    3.9 Lessons / 经验教训82

    Chapter 4: Interfaces / 接口85
    4.1 Comma-Separated Values / 逗号分隔值86
    4.2 A Prototype Library / 一个原型库87
    4.3 A Library for Others / 一个给他人用的库91
    4.4 A C++ Implementation / 一个C++实现99
    4.5 Interface Principles / 接口原则103
    4.6 Resource Management / 资源管理106
    4.7 Abort, Retry, Fail?109
    4.8 User Interfaces / 用户界面113

    Chapter 5: Debugging / 调试117
    5.1 Debuggers / 调试器 118
    5.2 Good Clues, Easy Bugs / 线索明显、易于发现的错误119
    5.3 No Clues, Hard Bugs / 线索不明、难以发现的错误123
    5.4 Last Resorts / 最后的手段127
    5.5 Non-reproducible Bugs / 不可重现的错误 130
    5.6 Debugging Tools / 调试工具131
    5.7 Other People's Bugs / 他人引入的错误 135
    5.8 Summary / 小结136

    Chapter 6: Testing / 测试139
    6.1 Test as You Write the Code / 一边编码,一边测试140
    6.2 Systematic Testing / 系统化测试145
    6.3 Test Automation / 测试自动化149
    6.4 Test Scaffolds / 测试脚手架151
    6.5 Stress Tests / 压力测试155
    6.6 Tips for Testing / 测试心得158
    6.7 Who Does the Testing? / 谁来测试 159
    6.8 Testing the Markov Program / 马尔可夫程序的测试160
    6.9 Summary / 小结162

    Chapter 7: Performance / 性能165
    7.1 A Bottleneck / 瓶颈166
    7.2 Timing and Profiling / 计时和剖析171
    7.3 Strategies for Speed / 加速策略175
    7.4 Tuning the Code / 代码调优178
    7.5 Space Efficiency / 空间利用率182
    7.6 Estimation / 评估184
    7.7 Summary / 小结187

    Chapter 8: Portability / 可移植性189
    8.1 Language / 语言190
    8.2 Headers and Libraries / 头文件和库196
    8.3 Program Organization / 程序架构198
    8.4 Isolation / 隔离202
    8.5 Data Exchange / 数据交换203
    8.6 Byte Order / 字节序204
    8.7 Portability and Upgrade / 可移植性和升级207
    8.8 Internationalization / 国际化209
    8.9 Summary / 小结212

    Chapter 9: Notation / 记法215
    9.1 Formatting Data / 数据格式化216
    9.2 Regular Expressions / 正则表达式222
    9.3 Programmable Tools / 可编程工具228
    9.4 Interpreters, Compilers, and Virtual Machines / 解释器、编译器和虚拟机 231
    9.5 Programs that Write Programs / 写程序的程序237
    9.6 Using Macros to Generate Code / 用宏生成代码240
    9.7 Compiling on the Fly / 运行中编译241
    Epilogue / 后记247
    Appendix: Collected Rules / 规则汇编249
  • 内容简介:
    本书是计算机科学方面的经典名著,由计算机界极具影响力的两位专家Brian W. Kernighan和Rob Pike合著。书的内容围绕程序设计实践中的一系列问题展开,讲述对于程序员有共性的知识,以帮助各程序员写出更高效的程序。本书从排错、测试、性能、可移植性、设计、界面、风格和记法等方面,讨论了程序设计中既具有实际意义又具有广泛意义的思想、技术和方法。
    本书值得每位梦想并努力成为程序员的人参考,值得每位计算机专业的学生和计算机工作者阅读,也适合作为程序设计高级课程的教材或参考书。
  • 作者简介:
    Brain Kernighan计算机科学家,曾与UNIX的缔造者Ken Thompson和Dennis Ritchie一起在贝尔实验室工作。他也是AWK和AMPL程序设计语言的共同作者。“K&R C”和“AWK”中的“K”都是指“Kernighan”。2000年起,他在普林斯顿大学计算机科学系任教授,并任本科部代表。
    Rob Pike 软件工程师。他在贝尔实验室任职期间,作为UNIX小组成员参与开发了Plan 9和Inferno操作系统以及Limbo程序设计语言。目前他在Google公司工作,参与了Go和Sawzall程序设计语言的开发。
  • 目录:
    Chapter 1: Style / 风格 1
    1.1 Names / 名字 3
    1.2 Expressions and Statements / 表达式和语句6
    1.3 Consistency and Idioms / 一致性和习惯用语10
    1.4 Function Macros / 函数宏17
    1.5 Magic Numbers / 幻数19
    1.6 Comments / 注释23
    1.7 Why Bother? / 为何要在风格方面费心 27

    Chapter 2: Algorithms and Data Structures / 算法与数据结构29
    2.1 Searching / 检索30
    2.2 Sorting / 排序32
    2.3 Libraries / 库34
    2.4 A Java Quicksort / 一个Java快速排序实现37
    2.5 O-Notation / 大O记法40
    2.6 Growing Arrays / 自增长数组41
    2.7 Lists / 表44
    2.8 Trees / 树50
    2.9 Hash Tables / 散列表55
    2.10 Summary / 小结 58

    Chapter 3: Design and Implementation / 设计与实现61
    3.1 The Markov Chain Algorithm / 马尔可夫链算法62
    3.2 Data Structure Alternatives / 在多种数据结构之间选择64
    3.3 Building the Data Structure in C / 使用C语言构建数据结构65
    3.4 Generating Output / 生成输出69
    3.5 Java 71
    3.6 C++ 76
    3.7 Awk and Perl / Awk和Perl 78
    3.8 Performance / 性能80
    3.9 Lessons / 经验教训82

    Chapter 4: Interfaces / 接口85
    4.1 Comma-Separated Values / 逗号分隔值86
    4.2 A Prototype Library / 一个原型库87
    4.3 A Library for Others / 一个给他人用的库91
    4.4 A C++ Implementation / 一个C++实现99
    4.5 Interface Principles / 接口原则103
    4.6 Resource Management / 资源管理106
    4.7 Abort, Retry, Fail?109
    4.8 User Interfaces / 用户界面113

    Chapter 5: Debugging / 调试117
    5.1 Debuggers / 调试器 118
    5.2 Good Clues, Easy Bugs / 线索明显、易于发现的错误119
    5.3 No Clues, Hard Bugs / 线索不明、难以发现的错误123
    5.4 Last Resorts / 最后的手段127
    5.5 Non-reproducible Bugs / 不可重现的错误 130
    5.6 Debugging Tools / 调试工具131
    5.7 Other People's Bugs / 他人引入的错误 135
    5.8 Summary / 小结136

    Chapter 6: Testing / 测试139
    6.1 Test as You Write the Code / 一边编码,一边测试140
    6.2 Systematic Testing / 系统化测试145
    6.3 Test Automation / 测试自动化149
    6.4 Test Scaffolds / 测试脚手架151
    6.5 Stress Tests / 压力测试155
    6.6 Tips for Testing / 测试心得158
    6.7 Who Does the Testing? / 谁来测试 159
    6.8 Testing the Markov Program / 马尔可夫程序的测试160
    6.9 Summary / 小结162

    Chapter 7: Performance / 性能165
    7.1 A Bottleneck / 瓶颈166
    7.2 Timing and Profiling / 计时和剖析171
    7.3 Strategies for Speed / 加速策略175
    7.4 Tuning the Code / 代码调优178
    7.5 Space Efficiency / 空间利用率182
    7.6 Estimation / 评估184
    7.7 Summary / 小结187

    Chapter 8: Portability / 可移植性189
    8.1 Language / 语言190
    8.2 Headers and Libraries / 头文件和库196
    8.3 Program Organization / 程序架构198
    8.4 Isolation / 隔离202
    8.5 Data Exchange / 数据交换203
    8.6 Byte Order / 字节序204
    8.7 Portability and Upgrade / 可移植性和升级207
    8.8 Internationalization / 国际化209
    8.9 Summary / 小结212

    Chapter 9: Notation / 记法215
    9.1 Formatting Data / 数据格式化216
    9.2 Regular Expressions / 正则表达式222
    9.3 Programmable Tools / 可编程工具228
    9.4 Interpreters, Compilers, and Virtual Machines / 解释器、编译器和虚拟机 231
    9.5 Programs that Write Programs / 写程序的程序237
    9.6 Using Macros to Generate Code / 用宏生成代码240
    9.7 Compiling on the Fly / 运行中编译241
    Epilogue / 后记247
    Appendix: Collected Rules / 规则汇编249
查看详情
相关图书 / 更多
程序设计实践:英文版
程序员超强大脑
[荷兰]费莉安·赫尔曼斯(Felienne Hermans)
程序设计实践:英文版
程序员考前突破:考点精讲、真题精解、难点精练
詹宏锋 李锋 许纪贤 编著
程序设计实践:英文版
程序员的README
[美]克里斯·里科米尼(Chris Riccomini) (美) 德米特里·里
程序设计实践:英文版
程序员的制胜技
[土耳其]塞达特·卡帕诺格鲁(Sedat Kapanoglu)
程序设计实践:英文版
程序设计基础(C语言)(第3版)
刘明军 袁宁 张玲 蒋彦 赵亚欧 编著;潘玉奇 主编;蔺永政
程序设计实践:英文版
程序设计基础(Python语言)(微课视频版)
陈守森;刘衍琦;邵燕;张言上;任爱华
程序设计实践:英文版
程序设计算法基础
于瑞国 主编;赵满坤 副主编;喻梅;李雪威
程序设计实践:英文版
程序员的算法趣题2
[日]增井敏克
程序设计实践:英文版
程序性能优化理论与方法
韩林;高伟
程序设计实践:英文版
程序设计基础实验和学习指导(C语言)(微课版)
苏小红 张羽 袁永峰 李东
程序设计实践:英文版
程序设计基础(C语言)习题集与实验指导(第3版)
蒋彦 袁宁 张玲 赵亚欧 编著;潘玉奇 主编;蔺永政
程序设计实践:英文版
程序设计基础(C语言)教程
刘媛媛;雷莉霞;胡平
您可能感兴趣 / 更多
程序设计实践:英文版
无辜者的谎言(相信我!看到结局你一定会头皮发麻;全美读者推荐的悬疑神作,GOODREADS高分作品)
[美]A.R.托雷 著;梁颂宇 译;星文文化 出品
程序设计实践:英文版
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
程序设计实践:英文版
哲学、历史与僭政——重审施特劳斯与科耶夫之争
[美]弗罗斯特(Bryan-Paul Frost) 编;[美]伯恩斯(Timothy W. Burns)
程序设计实践:英文版
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
程序设计实践:英文版
力量训练的科学基础与实践应用(第三版)
[美]弗拉基米尔· M.扎齐奥尔斯基;[美]威廉·J.克雷默;[美]安德鲁· C.弗赖伊
程序设计实践:英文版
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
程序设计实践:英文版
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
程序设计实践:英文版
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
程序设计实践:英文版
最后一章
[美]厄尼·派尔
程序设计实践:英文版
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
程序设计实践:英文版
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
程序设计实践:英文版
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译