编程的本质:英文版

编程的本质
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
2010-03
版次: 1
ISBN: 9787111300274
定价: 49.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 262页
正文语种: 英语
  • 《编程的本质(英文版)》提供了有关编程的一种与众不同的理解。其主旨是,实际的编程也应像其他科学和工程领域一样基于坚实的数学基础。《编程的本质(英文版)》展示了在实际编程语言(如C++)中实现的算法如何在最一般的数学背景中操作。例如,如何定义快速求幂算法,使之能使用任何可交换运算。使用抽象算法将能得到更高效、可靠、安全和经济的软件。
    这不是一本很容易读的书,它也不是能提升你的编程技能的秘诀和技巧汇编。《编程的本质(英文版)》的价值是更根本性的,其终极目标是提升你对编程的洞察力。要想从中大获裨益,你需要从头到尾认真学习:阅读代码,证明引理,完成练习。到结束之时,你将看到如何把这里讨论的演绎式方法应用到你的程序中,保证你做出的软件部件能一起工作,并表现出它们所应该表现的行为。
    书中给出的算法和需求针对某些被操作的类型。有关这些描述的代码(也可以通过Web得到)采用C++的一个小子集书写,这样做是为了让所有有经验的程序员都能理解。这个小子集可以看做一种特殊语言,是由SeanParent和BjarneStroustrup一起设计的。
    无论你是一位软件开发者,还是其他以编程作为一项重要活动的专业人员,或者是一名在校的学生,你都会逐渐理解《编程的本质(英文版)》的经验丰富的作者多年来一直在教授和阐释的道理:数学对于编程是绝好的东西,理论对于实际是绝好的东西。 AlexanderStepanov于1967~1972年间在莫斯科国立大学学习数学,从1972年开始在苏联,1977年移民美国后在美国从事编程工作。他编写过操作系统、编程工具、编译器和各种库。他在程序设计基础方面的工作先后得到GE、Polytechnic、AT&T、惠普、SiliconGraphics的支持,2002年后是Adobe的支持。1995年因C++标准模板库的设计获Dr.Dobb的程序设计杰出贡献奖。
    PaulMcJones于1967~1971年间在加州大学伯克利分校学习工程数学。从1967年开始介入程序设计,涉足的领域包括操作系统、程序设计环境、事务处理系统以及企业和客户应用系统等。他先后在加州大学、IBM、Xerox、Tandem、DEC工作,2003年至今在Adobe公司。1982年他与合作者一起因其论文“TheRecoveryManageroftheSystemRDatabaseManager”获得ACM程序设计系统和语言论文奖。 Prefaceix
    AbouttheAuthorsxiii
    1Foundation1
    1.1CategoriesofIdeas:Entity,Species,Genus1
    1.2Values2
    1.3Objects4
    1.4rocedures6
    1.5RegularTypes6
    1.6RegularProcedures8
    1.7Concepts10
    1.8Conclusions14

    2TransformationsandTheirOrbits15
    2.1Transformations15
    2.2Orbits18
    2.3CollisionPoint21
    2.4MeasuringOrbitSizes27
    2.5Actions28
    2.6Conclusions29

    3AssociativeOperations31
    3.1Associativity31
    3.2ComputingPowers33
    3.3ProgramTransformations35
    3.4Special-CaseProcedures39
    3.5ParameterizingAlgorithms42
    3.6LinearRecurrences43
    3.7AccumulationProcedures46
    3.8Conclusions47

    4LinearOrderings49
    4.1ClassificationofRelations49
    4.2TotalandWeakOrderings51
    4.3OrderSelection52
    4.4NaturalTotalOrdering61
    4.5ClustersofDerivedProcedures62
    4.6ExtendingOrder-SelectionProcedures63
    4.7Conclusions63

    5OrderedAlgebraicStructures65
    5.1BasicAlgebraicStructures65
    5.2OrderedAlgebraicStructures70
    5.3Remainder71
    5.4GreatestCommonDivisor76
    5.5Generalizinggcd79
    5.6Steingcd81
    5.7Quotient81
    5.8QuotientandRemainderforNegativeQuantities83
    5.9ConceptsandTheirModels85
    5.10ComputerIntegerTypes87
    5.11Conclusions88

    6Iterators89
    6.1Readability89
    6.2Iterators90
    6.3Ranges92
    6.4ReadableRanges95
    6.5IncreasingRanges103
    6.6ForwardIterators106
    6.7IndexedIterators110
    6.8BidirectionalIterators111
    6.9Random-AccessIterators113
    6.10Conclusions114

    7CoordinateStructures115
    7.1ifurcateCoordinates115
    7.2BidirectionalBifurcateCoordinates119
    7.3CoordinateStructures124
    7.4Isomorphism,Equivalence,andOrdering124
    7.5Conclusions131

    8CoordinateswithMutableSuccessors133
    8.1LinkedIterators133
    8.2LinkRearrangements134
    8.3ApplicationsofLinkRearrangements140
    8.4LinkedBifurcateCoordinates143
    8.5Conclusions148

    9Copying149
    9.1Writability149
    9.2Position-BasedCopying151
    9.3Predicate-BasedCopying157
    9.4SwappingRanges164
    9.5Conclusions168

    10Rearrangements169
    10.1Permutations169
    10.2Rearrangements172
    10.3ReverseAlgorithms174
    10.4RotateAlgorithms178
    10.5AlgorithmSelection186
    10.6Conclusions189

    11PartitionandMerging191
    11.1Partition191
    11.2BalancedReduction198
    11.3Merging202
    11.4Conclusions208

    12CompositeObjects209
    12.1SimpleCompositeObjects209
    12.2DynamicSequences216
    12.3UnderlyingType222
    12.4Conclusions225
    Afterword227
    AppendixAMathematicalNotation231
    AppendixBProgrammingLanguage233
    B.1LanguageDefinition233
    B.2MacrosandTraitStructures240
    Bibliography243
    Index247
  • 内容简介:
    《编程的本质(英文版)》提供了有关编程的一种与众不同的理解。其主旨是,实际的编程也应像其他科学和工程领域一样基于坚实的数学基础。《编程的本质(英文版)》展示了在实际编程语言(如C++)中实现的算法如何在最一般的数学背景中操作。例如,如何定义快速求幂算法,使之能使用任何可交换运算。使用抽象算法将能得到更高效、可靠、安全和经济的软件。
    这不是一本很容易读的书,它也不是能提升你的编程技能的秘诀和技巧汇编。《编程的本质(英文版)》的价值是更根本性的,其终极目标是提升你对编程的洞察力。要想从中大获裨益,你需要从头到尾认真学习:阅读代码,证明引理,完成练习。到结束之时,你将看到如何把这里讨论的演绎式方法应用到你的程序中,保证你做出的软件部件能一起工作,并表现出它们所应该表现的行为。
    书中给出的算法和需求针对某些被操作的类型。有关这些描述的代码(也可以通过Web得到)采用C++的一个小子集书写,这样做是为了让所有有经验的程序员都能理解。这个小子集可以看做一种特殊语言,是由SeanParent和BjarneStroustrup一起设计的。
    无论你是一位软件开发者,还是其他以编程作为一项重要活动的专业人员,或者是一名在校的学生,你都会逐渐理解《编程的本质(英文版)》的经验丰富的作者多年来一直在教授和阐释的道理:数学对于编程是绝好的东西,理论对于实际是绝好的东西。
  • 作者简介:
    AlexanderStepanov于1967~1972年间在莫斯科国立大学学习数学,从1972年开始在苏联,1977年移民美国后在美国从事编程工作。他编写过操作系统、编程工具、编译器和各种库。他在程序设计基础方面的工作先后得到GE、Polytechnic、AT&T、惠普、SiliconGraphics的支持,2002年后是Adobe的支持。1995年因C++标准模板库的设计获Dr.Dobb的程序设计杰出贡献奖。
    PaulMcJones于1967~1971年间在加州大学伯克利分校学习工程数学。从1967年开始介入程序设计,涉足的领域包括操作系统、程序设计环境、事务处理系统以及企业和客户应用系统等。他先后在加州大学、IBM、Xerox、Tandem、DEC工作,2003年至今在Adobe公司。1982年他与合作者一起因其论文“TheRecoveryManageroftheSystemRDatabaseManager”获得ACM程序设计系统和语言论文奖。
  • 目录:
    Prefaceix
    AbouttheAuthorsxiii
    1Foundation1
    1.1CategoriesofIdeas:Entity,Species,Genus1
    1.2Values2
    1.3Objects4
    1.4rocedures6
    1.5RegularTypes6
    1.6RegularProcedures8
    1.7Concepts10
    1.8Conclusions14

    2TransformationsandTheirOrbits15
    2.1Transformations15
    2.2Orbits18
    2.3CollisionPoint21
    2.4MeasuringOrbitSizes27
    2.5Actions28
    2.6Conclusions29

    3AssociativeOperations31
    3.1Associativity31
    3.2ComputingPowers33
    3.3ProgramTransformations35
    3.4Special-CaseProcedures39
    3.5ParameterizingAlgorithms42
    3.6LinearRecurrences43
    3.7AccumulationProcedures46
    3.8Conclusions47

    4LinearOrderings49
    4.1ClassificationofRelations49
    4.2TotalandWeakOrderings51
    4.3OrderSelection52
    4.4NaturalTotalOrdering61
    4.5ClustersofDerivedProcedures62
    4.6ExtendingOrder-SelectionProcedures63
    4.7Conclusions63

    5OrderedAlgebraicStructures65
    5.1BasicAlgebraicStructures65
    5.2OrderedAlgebraicStructures70
    5.3Remainder71
    5.4GreatestCommonDivisor76
    5.5Generalizinggcd79
    5.6Steingcd81
    5.7Quotient81
    5.8QuotientandRemainderforNegativeQuantities83
    5.9ConceptsandTheirModels85
    5.10ComputerIntegerTypes87
    5.11Conclusions88

    6Iterators89
    6.1Readability89
    6.2Iterators90
    6.3Ranges92
    6.4ReadableRanges95
    6.5IncreasingRanges103
    6.6ForwardIterators106
    6.7IndexedIterators110
    6.8BidirectionalIterators111
    6.9Random-AccessIterators113
    6.10Conclusions114

    7CoordinateStructures115
    7.1ifurcateCoordinates115
    7.2BidirectionalBifurcateCoordinates119
    7.3CoordinateStructures124
    7.4Isomorphism,Equivalence,andOrdering124
    7.5Conclusions131

    8CoordinateswithMutableSuccessors133
    8.1LinkedIterators133
    8.2LinkRearrangements134
    8.3ApplicationsofLinkRearrangements140
    8.4LinkedBifurcateCoordinates143
    8.5Conclusions148

    9Copying149
    9.1Writability149
    9.2Position-BasedCopying151
    9.3Predicate-BasedCopying157
    9.4SwappingRanges164
    9.5Conclusions168

    10Rearrangements169
    10.1Permutations169
    10.2Rearrangements172
    10.3ReverseAlgorithms174
    10.4RotateAlgorithms178
    10.5AlgorithmSelection186
    10.6Conclusions189

    11PartitionandMerging191
    11.1Partition191
    11.2BalancedReduction198
    11.3Merging202
    11.4Conclusions208

    12CompositeObjects209
    12.1SimpleCompositeObjects209
    12.2DynamicSequences216
    12.3UnderlyingType222
    12.4Conclusions225
    Afterword227
    AppendixAMathematicalNotation231
    AppendixBProgrammingLanguage233
    B.1LanguageDefinition233
    B.2MacrosandTraitStructures240
    Bibliography243
    Index247
查看详情
好书推荐 / 更多
编程的本质
三联·哈佛燕京学术丛书:长安未远—唐代京畿的乡村社会
徐畅 著
编程的本质
九色鹿·10~13世纪古格王国政治史研究
黄博 著
编程的本质
启微·资本的旅行:华侨、侨汇与中华网
王珍珍 译;[日]滨下武志
编程的本质
有限全球化:世界新秩序的诞生
郑永年
编程的本质
东方世界史011:印度五千年史
山泽种树
编程的本质
甲骨文丛书·王公之泪:印度的兵变、金钱与婚姻,1805—1905
陆大鹏 刘晓晖 译;斐迪南·芒特(Ferdinand Mount)
编程的本质
人之初:人类的史前史.进化与文化(当代法国思想文化译丛)
[法]伦默莱 著;李国强 译
编程的本质
哲学从这里开始:漫步城邦 边聊边学
任今可 译 者;[意]卢恰诺·德克雷申佐
编程的本质
优雅变老的艺术:美好生活的小哲学
[德]奥特弗里德·赫费(OtfriedHöffe) 著;靳慧明 译
编程的本质
单身社会
伊利亚金·奇斯列夫 著
编程的本质
工作的意义:从史前到未来的人类变革
[英]詹姆斯·苏兹曼
编程的本质
城市:人类这样聚集于大地 数十万米高空之上,于细微处见证浩瀚文明
[奥地利]马库斯·艾斯尔 (奥) 格拉尔德·曼斯贝格 (奥) 彼得·马特扎内茨 (奥) 保罗·施莱希纳