2004年美国Jolt大奖入围作品。如果你是个程序员的话,那么你就需要本书。可能导致我们阅读代码的原因是:我们不得不去修复它其中所包含的错误;或是对它进行遍查(inspect);或者是改善它。我们阅读代码的方式可能和工程师检查机械的方式一样——找出它的工作原理。或者我们阅读代码的目的是对代码进行清理——找出其中可以被重用的部分。阅读代码有着它自身的技巧,并需要我们能够在重要场合对采用何种技术有着判断能力。在这本不可或缺的书中,DiomidisSpinellis使用了超过600个来自现实世界中的例子来向我们展示如何鉴别好的(或坏的)代码:如何去阅读它,从中去找寻什么,以及如何利用这种技巧来提升我们自身编写的代码的品质。记住这个事实:如果我们养成了阅读好代码的习惯,我们就能写出更高品质的代码。
许多程序员可能并不知道,C++不仅是一个面向对象程序语言,它还适用于泛型编程(genericprogramming)。这项技术可以大大增强你的能力,协助你写出高效率并可重复运用的软件组件(softwarecomponents)。 本书由知名的C++专家MatthewH.Austern执笔,引导你进入泛型编程思维模型,并将你带往此一模型的最重要成品:C++StandardTemplateLibrary(STL)。本书揭示STL的奥秘,告诉你STL不仅仅是一组方便运用的容器类(containerclasses)。对于泛型组件和可交互作用的组件而言,STL是一个具备扩充能力的框架(framework)、《泛型编程与STL》阐述了泛型编程的中心思想:concepts、modeling、refinement,并为你展示这些思想如何导出STL的基础概念:iterators、containers、functionobjects。循此路线,你可以把STL想像为一个由concepts(而非明确之functions或classes)组成的程序库:、你将学习其正式结
图论在计算科学、社会科学和自然科学等各个领域都有广泛应用。本书是本科生或研究生一学期或两学期的图论课程教材。全书力求保持按证明的难度和算法的复杂性循序渐进的风格,使学生能够深入理解书中的内容。书中包括对证明技巧的讨论、1200多道习题、400多幅插图以及许多例题,而且对所有定理都给出了详细完整的证明。虽然本书包括许多算法和应用,但是重点在于理解图论结构和分析图论问题的技巧。
《泛型编程与STL》阐述了泛型编程的中心思想:concepts、modeling、refinement,并为你展示这些思想如何导出STL的基础概念:iterators、containers、function objects。循此路线,你可以把STL想像为一个由来的完整优势……
图论在计算科学、社会科学和自然科学等各个领域都有广泛应用。本书是本科生或研究生一学期或两学期的图论课程教材。全书力求保持按证明的难度和算法的复杂性循序渐进的风格,使学生能够深入理解书中的内容。书中包括对证明技巧的讨论、1200多道习题、400多幅插图以及许多例题,而且对所有定理都给出了详细完整的证明。虽然本书包括许多算法和应用,但是重点在于理解图论结构和分析图论问题的技巧。
如果你需要分析或处理Linux或Unix中的文本数据,这本有用的书籍就向你讲解了如何使用flex和bison迅速解决问题。《flex与bison》被期待已久,是经典OReilly系列书籍《lex&yacc》的续篇。在原书出版以来的近20年中,flex和bison已被证明比原来的Unix工具更可靠、更强大。《flex与bison》一书涵盖了Linux和Unix程序开发中相同的重要核心功能,以及一些重要的新主题。你会找到适用于新手的修订教程和适用于高级用户的参考资料,以及对每个程序的基本用法的解释,并且运用它们创建简单、独立的应用程序。有了《flex与bison》,你会发现这些灵活的工具提供的广泛用途。
C STL(StandardTemplateLibrary,标准模板)是一次革命,但是学习如何用它却是一个挑战。在本书中,ScottMeyers(两本的书《EffectiveC 》和《MoreEffectiveC 》的作者)揭示了专家总结的一些关键规则,以便限度地使用标准模板库。其他书只是描述了STL中有什么,而本书则讲述了如何使用STL。本书共有50条原则,对于每一条原则,SCOTTMEYERS都通过透彻的分析和经典的实例来进行讲解,从而使读者不仅可以了解要做什么,而且还能够了解何时做以及为何做。像MEYERS的其他著作一样,这本书充满了从实践中总结出来的智慧。它清晰、简明、透彻的风格必将使每位STL程序员受益匪浅。t
密码学涉及解决通信保密问题的计算系统的概念、定义及构造。密码系统的设计必须基于坚实的基础。本书对这一基本问题给出了系统而严格的论述:用已有工具来定义密码的目标并解决新的密码学问题。全书集中讨论了基本的数学工具:计算困难性、伪随机性以及零知识证明等。本书的重点是澄清基本概念及证明密码学问题解决方法的可行性。而不侧重于对特殊方法的描述。