程序设计实践双语版
作者 : Brian W.Kernighan,Rob Pike
译者 : 裘宗燕
出版日期 : 2007-04-23
ISBN : 7-111-21127-3
定价 : 59.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 470
开本 : 16开
原书名 : The Practice of Programming
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

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

图书特色

封底文字

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

图书序言

Brian W.Kernighan
  贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。他参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的著作,包括《The Elements of Programming Style》、《The Practice of Programming》、《The UNIX Programming Environment》、《The AWK Language》、《Software Tools》等。

作者简介

Brian W.Kernighan:Brian W. Kernighan 贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。他参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的著作,包括《The Elements of Programming Style》、《The Practice of Programming》、《The UNIX Programming Environment》、《The AWK Language》、《Software Tools》等。

Rob Pike:Rob Pike(罗布·派克),目前谷歌公司最著名的软件工程师之一,曾是贝尔实验室 Unix 开发团队成员,Plan9 操作系统开发的主要领导人,Inferno 操作系统开发的主要领导人。他是缔造 Go 语言和 Limbo 语言的核心人物。

译者简介

裘宗燕:裘宗燕: 北京大学数学学院信息科学系教授。长期从事计算机软件与理论、程序设计语言和符号计算方面的研究和教学工作。已出版多部著作和译著,包括《程序设计语言基础》(译著,北京大学出版社,1990),《Mathematica数学软件系统的应用与程序设计》(编著,北京大学出版社,1994),《计算概论(上)》(合著,高等教育出版社,1997),《从问题到程序—程序设计与C语言引论》(编著,北京大学出版社,1999)等;自2000年以来,他先后为机械工业出版社华章分社翻译了《程序设计实践》(2000),《C++程序设计语言(特别版)》(2001),《C++语言的设计和演化》(2002),《程序设计语言——概念和结构》(2002),《从规范出发的程序设计》(2003),《计算机程序的构造和解释》(2004)等一系列经典著作,他认真的工作作风、严谨的治学态度,以及所做出的巨大贡献,赢得广大读者的好评。 在北京大学教授的主要课程:计算概论(一年级本科生,主要内容为C语言程序设计),程序设计技术与方法(本科生),程序设计语言原理(研究生),算法和数据结构(本科生),算法设计与分析(本科生和研究生),数理逻辑(本科生)等。 点击进入[URL=http://www.math.pku.edu.cn/teachers/qiuzy/]作者主页[/URL]。

图书目录

1. Style.


Names.


Expressions and Statements.


Consistency and Idioms.


Function Macros.


Magic Numbers.


Comments.


Why Bother?



2. Algorithms and Data Structures.


Searching.


Sorting.


Libraries.


A Java Quicksort.


O-Notation.


Growing Arrays.


Lists.


Trees.


Hash Tables.


Summary.



3. Design and Implementation.


The Markov Chain Algorithm.


Data Structure Alternatives.


Building the Data Structure in C.


Generating Output.


Java.


C++.


Awk and Perl.


Performance.


Lessons.



4. Interfaces.


Comma-Separated Values.


A Prototype Library.


A Library for Others.


A C++ Implementation.


Interface Principles.


Resource Management.


Abort, Retry, Fail?


User Interfaces.



5. Debugging.


Debuggers.


Good Clues, Easy Bugs.


No Clues, Hard Bugs.


Last Resorts.


Non-reproducible Bugs.


Debugging Tools.


Other People's Bugs.


Summary.



6. Testing.


Test as You Write the Code.


Systematic Testing.


Test Automation.


Test Scaffolds.


Stress Tests.


Tips for Testing.


Who Does the Testing?


Testing the Markov Program.


Summary.



7. Performance.


A Bottleneck.


Timing and Profiling.


Strategies for Speed.


Tuning the Code.


Space Efficiency.


Estimation.


Summary.



8. Portability.


Language.


Headers and Libraries.


Program Organization.


Isolation.


Data Exchange.


Byte Order.


Portability and Upgrade.


Internationalization.


Summary.



9. Notation.


Formatting Data.


Regular Expressions.


Programmable Tools.


Interpreters, Compilers, and Virtual Machines.


Programs that Write Programs.


Using Macros to Generate Code.


Compiling on the Fly.



Epilogue.


Appendix: Collected Rules.


Index. 020161586XT04062001

教学资源推荐
作者: 施霞萍 王瑾德 史建成 马可幸 编著
作者: 郑阿奇
作者: Richard Blum
作者: 覃华 韦兆文 陈琴