【内容简介】
本书是计算机科学方面的经典名著《编程珠玑》的姊妹篇,讲述了对于程序员有共性的知识。书中涵盖了程序员操纵程序的技术、程序员取舍的技巧、输入和输出设计以及算法示例,这些内容结合成一个有机的整体,如一串串珠玑展示给程序员。本书适合各级程序员阅读参考。
【作译者介绍】
本书提供作译者介绍
Jon Bentley,世界著名计算机科学家,被誉为影响算法发展的十位大师之一。他先后任职于卡内基—梅隆大学(P976-1982)、贝尔实验室(1982—2001)和Avaya实验室(2001年至今)。在卡内基—梅隆大学担任教授期间,他培养了包括Tcl语言设计者John Ousterhout、Java语言设计者James Gosling、《算法导论》作者之-Charles Leiserson在内的许多计算机科学大家。2004年荣获Dr.Dobb’S程序设计卓越奖
.. << 查看详细
【目录信息】
第一部分 编程技术
第1章 性能监视工具
1.1 计算素数
1.2 使用性能监视工具
1.3 一个专用的性能监视工具
1.4 开发性能监视工具
1.5 原理
1.6 习题
1.7 深入阅读
第2章 关联数组
2.1 Awk中的关联数组
2.2 有穷状态机模拟器
2.3 拓扑排序
2.4 原理
2.5 习题
2.6 深入阅读
第3章 程序员的忏悔
3.1 二分搜索
3.2 选择算法
<< 查看详细目录
【译者序】
本书作者Jon Bentley是美国著名的程序员和计算机科学家,他于20世纪70年代前后在很有影响力的《ACM通讯》(Communications of the ACM)上以专栏的形式连续发表了一系列短文,成功地总结和提炼了自己在长期的计算机程序设计实践中积累下来的宝贵经验。这些短文充满了真知灼见,而且文笔生动、可读性强,对于提高职业程序员的专业技能很有帮助,因此该专栏大受读者欢迎,成为当时该学术期刊的王牌栏目之一。可以想象当时的情形颇似早年金庸先生在《明报》上连载其武侠小说的盛况。后来在ACM的鼓励下,作者经过仔细修订和补充整理,对各篇文章的先后次序做了精心编排,分别在1986年和1988年结集出版了Programming ..
<< 查看译者序
【前言】
计算机编程充满乐趣。有时候,它是一门优雅的科学,有时候,它要去开发和使用新的软件工具。编程与人息息相关:客户实际想解决什么问题?如何让用户容易与程序沟通?编程让我接触到相当广泛的话题,从有机化学到拿破仑战争。本书描述了编程的所有这些方面的知识,而且远不止这些。.
本书是一部短文集,每篇短文独立成章,但所有短文又依据逻辑分成了几组。第1章至第4章描述操纵程序的技术;第5章至第8章给出了一些程序员的实用技巧,这是本书技术性最低的部分;第9章至第12章讲解输入和输出设计;第13章至第15章介绍了3个有用的子程序。这些主题的更多细节可以在每个部分的引言中找到。
本书大多数章都..
<< 查看前言
【媒体评论】
“《编程珠玑》第1版是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。Jon在第2版中对素材进行了大量更新,许多新内容让我耳目一新。”.
——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者
“对每一位遇到的程序员,我都会毫不迟疑地建议他阅读并不断重读这部经典之作。”...
——Slashdot
【书摘】
第一部分 编程技术
第2章 关联数组
人类学家说,语言深刻地影响了世界观。一般把这个观察结果称为“Whorf假说”,也经常把它总结为“语言塑造了人的思想”。
跟大多数程序员一样,我使用的Algol系列的语言塑造了我的计算思维。对于像我这样的程序员来说,PL/1、C和Pascal看起来都很相似,我们不难把这样的代码翻译成COBOL或Fortran的代码。用这些语言能轻易地表达我们旧的、习以为常的思维模式。
另外一些语言则挑战了我们对于计算的看法。我们感到惊奇的是:Lisp用户们用S表达式和递归来神奇地工作,APL迷们用一组长向量的外积来为世界建模,Snobol程序员把任何问题都变成一个很大的字符串。我们这些Algol系列的程序员可能会发现,研究这些“异族文化”是痛苦的,但是这种体验一般会增长我们的见识。
本章讨论Algol传统之外的一种语言特性:关联数组(associative array)。我们熟悉的数组都用数值作下标,而关联数组则允许像count[“car”]这样的引用。这样的数据结构出现在Snobol和Rexx(一种IBM命令解释器)这样的语言中,它允许我们用简单的程序宋表达复杂的算法。这些数组与Algol相似到可以很快被理解的程度,又新到足以挑战我们思维习惯的程度。
本章将讨论Awk语言提供的关联数组。虽然Awk的大多数成分都来生Algol传统,但是关联数组和其他几个特性还是值得研究的。下面这一节介绍Awk的关联数组;后续几节描述两个重要的程序,这两个程序用大多数Algol系列的语言来写都是很麻烦的,却可以用Awk优雅地表达出来。
……
免费试读 第2章..
免费试读 第4章..
免费试读 第8章..
免费试读 第12章..
>>
进入在线免费试读>>
51CTO在线试读