程序设计实践(双语版)

程序设计实践(双语版)
作 者: Brian Kernighan;Rob Pike 裘宗燕
出版社: 机械工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 程序(设计)理论
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  本书提供作译者介绍Brian W.Kernighan 贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。他参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的著作,包括《The Elements of Programming Style》、《The Practice of Programming》、《The UNIX Programming Environment》、《The AWK Language》、《Software Tools》等。.裘宗燕,北京大学数学学院信息科学系教授。关心的主要学术领域包括计算机软件理论、方法学、程序语言和符号计算。已出版...

内容简介

本书是著名计算机专家的畅销作品,曾在国内外受到广泛赞誉。本书从排错、测试、性能、可移植性、设计、界面、风格和记法等方面,讨论了程序设计中实际的、又是非常深刻和具有广泛意义的思想、技术和方法。本书值得每个梦想并努力使自己成为优秀程序员的人参考,值得每个计算机专业的学生和计算机工作者阅读,也可作为程序设计高级课程的教材或参考书。.程序设计实践并不只是写代码。程序员必须评价各种折衷方案,在许多可能性之中做出选择、排除错误、做测试和改进程序性能,还要维护自己或其他人写的软件。在满足规范的同时还必须关注许多问题,包括兼容性、坚固性和可靠性等等。..本书从排错、测试、性能、可移植性、设计、界面、风格和记法等方面,讨论了程序设计中实际的、又是非常深刻和具有广泛意义的思想、技术和方法,它的翻译出版将填补国内目前这方面书籍的空白。本书值得每个梦想并努力使自己成为优秀程序员的人参考,值得每个计算机专业的学生和计算机工作者阅读,也可作为程序设计高级课程的教材或参考书。...

图书目录

译者序

Preface/前言

Chapter 1:Style/风格

1.1 Names/名字

1.2 Expressions and Statements/表达式和语句

1.3 Consistency and Idioms/一致性和习惯用法

1.4 Function Macros/函数宏

1.5 Magic Numbers/神秘的数

1.6 Comments/注释

1.7 Why Bother?/为何对此费心

Chapter 2:Algorithms and Data Structures/算法与数据结构

2.1 Searching/检索

2.2 Sorting/排序

2.3 Libraries/库

2.4 A Java Quicksort/一个Java快速排序

2.5 O—Notation/大O记法

2.6 Growing Arrays/可增长数组

2.7 Lists/表

2.8 Trees/树

2.9 Hash Tables/散列表

2.10 Summary/小结

Chapter 3:Design and Implementation/设计与实现

3.1 The Markov Chain Algorithm/马尔可夫链算法

3.2 Data Structure Alternatives/数据结构的选择

3.3 Building the Data Structure in C/在C中构造数据结构

3.4 Generating Output/生成输出

3.5 Java/Java

3.6 C++/C++

3.7 Awk and Perl/Awk and Perl

3.8 Performance/性能

3.9 Lessons/经验教训

Chapter 4:Interfaces/界面

4.1 Comma—Separated Values/逗号分隔的值

4.2 A Prototype Library/一个原型库

4.3 A Library for Others/为别人用的库

4.4 A C++Implementation/c++实现

4.5 Interface Principles/界面原则

4.6 Resource Management/资源管理

4.7 Abort,Retry,Fail?/终止、重试或失败

4.8 User Interfaces/用户界面

Chapter 5:Debugging/排错

5.1 Debuggers/排错系统

5.2 Good Clues,Easy Bugs/好线索,简单错误

5.3 No Clues,Hard Bugs/无线索,难办的错误

5.4 Last Resorts/最后的手段

5.5 Non—reproducible Bugs/不可重现的错误

5.6 Debugging Tools/排错工具

5.7 Other People’s Bugs/其他人的程序错误

5.8 Summary/小结

Chapter 6:Testing/测试

6.1 Test as You Write the Code/在编码过程中测试

6.2 Systematic Testing/系统化测试

6.3 Test Automation/测试自动化

6.4 Test Scaffolds/测试台

6.5 Stress Tests/应力测试

6.6 Tips for Testing/测试秘诀

6.7 Who Does the Testing?/谁来测试

6.8 Testing the Markov Program/测试马尔可夫程序

6.9 Summary/小结

Chapter 7:Performance/性能

7.1 A Bottleneck/瓶颈

7.2 Timing and Profiling/计时和轮廓

7.3 Strategies for Speed/加速策略

7.4 Tuning the Code/代码调整

7.5 Space Efficiency/空间效率

7.6 Estimation/估计

7.7 Summary小结

Chapter 8:Portability/可移植性

8.1 Language/语言

8.2 Headers and Libraries/头文件和库

8.3 Program Organization/程序组织

8.4 Isolation/隔离

8.5 Data Exchange/数据交换

8.6 Byte Order/字节序

8.7 Portability and Upgrade/可移植性和升级

8.8 Internationalization/国际化

8.9 Summary/小结

Chapter 9:Notation/记法

9.1 Formatting Data/数据格式

9.2 Regular Expressions/正则表达式

9.3 Programmable Tools/可编程工具

9.4 Interpreters,Compilers.and Virtual Machines/解释器、编译器和虚拟机

9.5 Programs that Write Programs/写程序的程序

9.6 Using Macros to Generate Code/用宏生成代码

9.7 Compiling on the Fly/运行中编译

Epilogue/后记

Appendix:Collected Rules/附录:规则汇编