编程的本质

书名:编程的本质英文版
作者:AlexanderStepanov/PaulMcJones
译者:
ISBN:9787111300274
出版社:机械工业出版社
出版时间:2010
格式:epub/mobi/azw3/pdf
页数:262
豆瓣评分: 8.6

书籍简介:

本书提供了有关编程的一种与众不同的理解。其主旨是,实际的编程也应像其他科学和工程领域一样基于坚实的数学基础。本书展示了在实际编程语言(如C++)中实现的算法如何在最一般的数学背景中操作。例如,如何定义快速求幂算法,使之能使用任何可交换运算。使用抽象算法将能得到更高效、可靠、安全和经济的软件。 这不是一本很容易读的书,它也不是能提升你的编程技能的秘诀和技巧汇编。本书的价值是更根本性的,其终极目标是提升你对编程的洞察力。要想从中大获裨益,你需要从头到尾认真学习:阅读代码,证明引理,完成练习。到结束之时,你将看到如何把这里讨论的演绎式方法应用到你的程序中,保证你做出的软件部件能一起工作,并表现出它们所应该表现的行为。 书中给出的算法和需求针对某些被操作的类型。有关这些描述的代码(也可以通过Web得到)采用C++的一个小子集书写,这样做是为了让所有有经验的程序员都能理解。这个小子集可以看做一种特殊语言,是由Sean Parent和Bjarne Stroustrup一起设计的。 无论你是一位软件开发者,还是其他以编程作为一项重要活动的专业人员,或者是一名在校的学生,你都会逐渐理解本书的经验丰富的作者多年来一直在教授和阐释的道理:数学对于编程是绝好的东西,理论对于实际是绝好的东西。

作者简介:

Alexander Stepanov于1967~1972年间在莫斯科国立大学学习数学,从1972年开始在苏联,1977年移民美国后在美国从事编程工作。他编写过操作系统、编程工具、编译器和各种库。他在程序设计基础方面的工作先后得到GE、Polytechnic、AT&T、惠普、Silicon Graphics的支持,2002年后是Adobe的支持。1995年因C++标准模板库的设计获Dr.Dobb的程序设计杰出贡献奖。

Paul McJones于1967~1971年间在加州大学伯克利分校学习工程数学。从1967年开始介入程序设计,涉足的领域包括操作系统、程序设计环境、事务处理系统以及企业和客户应用系统等。他先后在加州大学、IBM、Xerox、Tandem、DEC工作,2003年至今在Adobe公司。1982年他与合作者一起因其论文“The Recovery Manager of the System R Database Manager”获得ACM程序设计系统和语言论文奖。

书友短评:

@ ➗ 没读完,应该也不会再读了,concepts的提议都被拒了,还有啥好玩的呢。 @ [已注销] 这本书成功的让我感觉到就是imperative language也是可以很好的数学化抽象. 虽然还是很麻烦… anyway我感觉…懂了抽代+看过某些算法实际上这书只需要随便浏览一下… (比如两个tree的isomorphism) @ 翠羽黄衫Dante 挺有意思的。给编程一个比较严谨的数学描述。 @ 一寸行者 我的这本书有缺页。 @ 透明 跟STL的实现隐含着丝丝联系,总觉得还不是那么“本质” @ 翠羽黄衫Dante 挺有意思的。给编程一个比较严谨的数学描述。 @ 楠木 编程没有什么本质不本质之说。 @ 云遮断归途 STL设计者和另外一位作者编写的书。书中前几章定义一些基本问题,环的问题等。后面主要将迭代器以及基于迭代器的操作的设计思想。 @ 蝉 : TP311.1/S827 @ 一寸行者 我的这本书有缺页。

Preface ixAbouttheAuthors xiii1 Foundations 1.1 CategoriesofIdeas:Entity,Species,Genus 1.2 Values 1.3 Objects 1.4 rocedures6 1.5 RegularTypes 1.6 RegularProcedures 1.7 Concepts 1.8 Conclusions142 TransformationsandTheirOrbits1 2.1 Transformations 2.2 Orbits 2.3 CollisionPoint 2.4 MeasuringOrbitSizes 2.5 Actions 2.6 Conclusions3 AssociativeOperations 3.1 Associativity 3.2 ComputingPowers 3.3 ProgramTransformations 3.4 Special-CaseProcedures 3.5 ParameterizingAlgorithms 3.6 LinearRecurrences 3.7 AccumulationProcedures 3.8 Conclusions4 LinearOrderings 4.1 Classi?cationofRelations 4.2 TotalandWeakOrderings 4.3 OrderSelection 4.4 NaturalTotalOrdering 4.5 ClustersofDerivedProcedures 4.6 ExtendingOrder-SelectionProcedures 4.7 Conclusions5 OrderedAlgebraicStructures 5.1 BasicAlgebraicStructures 5.2 OrderedAlgebraicStructures 5.3 Remainder 5.4 GreatestCommonDivisor 5.5 Generalizinggcd 5.6 Steingcd 5.7 Quotient 5.8 QuotientandRemainderforNegativeQuantities 5.9 ConceptsandTheirModels 5.10 ComputerIntegerTypes 5.11 Conclusions6 Iterators 6.1 Readability 6.2 Iterators 6.3 Ranges 6.4 ReadableRanges 6.5IncreasingRanges 6.6 ForwardIterators 6.7 IndexedIterators 6.8 BidirectionalIterators 6.9 Random-AccessIterators 6.1 Conclusions7 CoordinateStructures 7.1 ifurcateCoordinates 7.2 BidirectionalBifurcateCoordinates 7.3 CoordinateStructures 7.4 Isomorphism,Equivalence,andOrdering 7.5 Conclusions8 CoordinateswithMutableSuccessors 8.1 LinkedIterators 8.2 LinkRearrangements 8.3 ApplicationsofLinkRearrangements 8.4 LinkedBifurcateCoordinates 8.5 Conclusions9 Copying 9.1 Writability 9.2 Position-BasedCopying 9.3 Predicate-BasedCopying 9.4 SwappingRanges 9.5 Conclusions10 Rearrangements 10.1 Permutations 10.2 Rearrangements 10.3 ReverseAlgorithms 10.4 RotateAlgorithms 10.5 AlgorithmSelection 10.6 Conclusions11 PartitionandMerging 11.1 Partition 11.2 BalancedReduction 11.3 Merging 11.4 Conclusions12 CompositeObjects 12.1 SimpleCompositeObjects 12.2 DynamicSequences 12.3 UnderlyingType 12.4 ConclusionsAfterwordAppendixA MathematicalNotationAppendixB ProgrammingLanguage B.1 LanguageDe?nition B.2 MacrosandTraitStructuresBibliographyIndex
· · · · · ·

添加微信公众号:好书天下获取

添加微信公众号:“好书天下”获取书籍好书天下 » 编程的本质
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

添加微信公众号:“好书天下”获取书籍

添加微信公众号:“好书天下”获取书籍添加微信公众号:“好书天下”获取书籍