本书提供了有关编程的一种与众不同的理解。其主旨是,实际的编程也应像其他科学和工程领域一样基于坚实的数学基础。本书展示了在实际编程语言(如C++)中实现的算法如何在最一般的数学背景中操作。例如,如何定义快速求幂算法,使之能使用任何可交换运算。使用抽象算法将能得到更高效、可靠、安全和经济的软件。
这不是一本很容易读的书,它也不是能提升你的编程技能的秘诀和技巧汇编。本书的价值是更根本性的,其终极目标是提升你对编程的洞察力。要想从中大获裨益,你需要从头到尾认真学习:阅读代码,证明引理,完成练习。到结束之时,你将看到如何把这里讨论的演绎方法应用到你的程序中,保证你做出的软件部件能一起工作,并表现出它们所应该表现的行为。
书中给出的算法和需求针对某些被操作的类型。有关这些描述的代码(也可以通过Web得到)采用C++的一个小子集书写,这样做是为了让所有有经验的程序员都能理解。这个小子集可以看做一种特殊语言,是由Sean Parent和Bjarne Stroustrup一起设计的。
无论你是一位软件开发者,还是其他以编程作为一项重要活动的专业人员,或者是一名在校的学生,你都会逐渐理解本书的经验丰富的作者多年来一直在教授和阐释的道理:数学对于编程是绝好的东西,理论对于实际是绝好的东西。
Alexander Stepanov 于1967~1972年间在国立莫斯科大学学习数学,从1972年开始在苏联,1977年移民后继续在美国从事编程工作。他编写过操作系统、编程工具、编译器和各种程序库。他在程序设计基础方面的工作先后得到GE、Polytechnic、AT&T、惠普、SGI和Adobe的支持。1995年因C++标准模板库的设计获Dr. Dobb, Journal的程序设计杰出贡献奖。
Paul McJones 于1967~1971年间在加州大学伯克利分校学习工程数学。从1967年开始介入程序设计,涉足的领域包括操作系统、程序设计环境、事务处理系统以及企业和客户应用系统等。他先后在加州大学、IBM、Xerox、Tandem、DEC和Adobe工作。1982年他与合作者一起因论文“The Recovery Manager of the System R Database Manager”获得ACM程序设计系统和语言论文奖。
全书很抽象,虽然代码是用C++的子集编写,但如果读者只是个C++入门者,充斥着模版的代码理解起来一样很困难.对于读者,如果缺乏编程经验和必要的数学基础,着实如读天书一般,不如不看,《编程原本》对这个层次的读者几乎没有任何帮助。但随着你编程经验的丰富,并且有...
评分全书的内容可以用最后的一段话总结:程序设计是一种迭代式过程,研究有用的问题,发现处理它们的高效算法,精炼出算法背后的概念,再讲这些概念和算法组织为完满协调的数学理论。 说白了本书就是对STL的提炼,升华成理论。其实程序设计这种东西个人认为是一种实践经验的总结,...
评分刚翻,发现个小问题。参考书籍的排列索引有问题,而且还有丢失的条目。不信的可以与原版逐一比较一下即知。 译者前言里面说是直接从原版的pdf直接改写的,所以版面有错误应该由裘负责,希望下一次刷的时候能改正。
评分这本书不错 看看这个你们就知道了 http://www.xafc.com/梦想,是一个让我觉得非常珍贵的词,但是现如今,我又觉得这人人人可以拥有的东西很奢侈。 最近九个月我陷入了一种非常奇怪的状态,变得什么都不想干,不想念书,不想上课,不想做作业,甚至都不想复习就去考试,拖延症...
评分看了六章了,看不下去了,太扯淡了,纯粹就是拿数学的皮来卖算法的肉。 数学也就那点,无非就是谓词逻辑的表述,代数(居然群环域模全扯一边,就是没说环上的自由摸)和序理论的核; 算法也就那点,无非就是一个碰撞点检测算法,各种求幂算法,排序算法,迭代器,欧几里德gcd...
我最近正在思考如何提升代码的可读性和可维护性,这似乎是一个永远值得探讨的课题。《编程原本》这个书名,让我觉得它可能包含了一些能够帮助我解决这些问题的“根本之道”。我希望书中能够提供一些关于代码风格、命名规范、注释策略等方面的指导,但更重要的是,我期待它能深入剖析为何这些规范如此重要,以及它们是如何影响代码的长期维护成本和团队协作效率的。我希望它能帮助我理解,如何写出不仅自己能看懂,而且也更容易被他人理解和修改的代码。我设想着,通过阅读这本书,能够提升我写出“自解释性”代码的能力,减少沟通成本,降低引入bug的风险。我希望它能教会我如何去“思考”代码,而不仅仅是“编写”代码,让我能够以一种更长远的眼光来审视我的每一行代码,并确保它们能够为项目的健康发展贡献力量。
评分我一直对那些能够“破除迷信”的书籍充满好奇。很多时候,我们在学习编程的过程中,会听到各种“最佳实践”、“设计模式”等等,但却很少有人能深入解释这些“为什么”。《编程原本》这个名字,在我看来,就带有这样的潜质——它可能是在解答那些我们习以为常,但却不甚了然的“为什么”。我希望这本书能带我深入理解那些被广泛应用的编程范式,比如面向对象、函数式编程等等,不仅仅是知道它们是什么,更要理解它们为何能解决特定类型的问题,以及它们各自的优缺点和适用场景。我设想着,通过阅读这本书,能够帮助我构建一个更加清晰和有条理的编程思维框架,让我在面对不同的编程任务时,能够更自如地选择最适合的工具和方法。我希望它能像一本编程的“哲学书”,引导我去思考编程语言、抽象、数据结构等更深层次的概念,从而提升我的抽象能力和解决问题的通用能力,而不是仅仅停留在对某个特定框架的熟练运用上。
评分一直以来,我都对那些能够勾勒出软件开发“全貌”的书籍充满向往。很多时候,我们作为开发者,可能更专注于代码的实现细节,却忽略了整个软件生命周期的其他重要环节。这本书的书名《编程原本》,让我联想到的是一种从源头到终点的完整视角。我期待它能不仅仅停留在代码层面,而是能涵盖软件设计、架构、测试、部署,甚至项目管理等更广泛的领域。我希望它能为我提供一种“上帝视角”,让我能够理解一个软件项目是如何从构思到落地,以及其中每一个环节的相互关联和重要性。我希望它能帮助我理解,为什么某些设计会被采用,为什么某些测试是必不可少的,以及如何才能构建出稳定、可扩展、易于维护的软件系统。这本书的出现,感觉就像是一幅绘制软件开发宏伟蓝图的地图,指引我了解前行的方向,以及那些我可能忽略的重要节点,让我能够成为一个更全面的开发者。
评分最近读完一本关于算法的书,让我对效率和优化的重要性有了更深的体会。这本书的封面设计相当简洁,没有过多花哨的图饰,给人的第一感觉就是“干货满满”。翻开目录,看到里面涉及的那些基础但至关重要的算法概念,我就知道这绝对不是一本泛泛而谈的教材。我特别期待书中对于时间复杂度和空间复杂度分析的详尽阐述,以及如何根据实际场景选择最优的算法。我总觉得,一个优秀的程序员,不仅仅是要能写出能运行的代码,更要能写出高效、可维护的代码。这本书似乎正是朝着这个方向,为我提供了一套系统的理论和实践指导。我希望它能帮助我养成一种“未雨绸缪”的编程习惯,在项目初期就考虑到性能瓶颈,并在后续的开发过程中持续进行优化。那种从代码的运行效率中获得的成就感,是其他任何方面都无法比拟的。这本书的到来,感觉就像是为我的编程工具箱增添了一把精密的手术刀,让我能够更精细地打磨我的代码,让它们焕发出应有的光彩。
评分这本书在我书架上已经躺了好一段时间了,我一直被它的名字——《编程原本》——所吸引。这个名字自带一种厚重感,仿佛预示着书中蕴含着的是最根本、最核心的编程智慧,而非那些浮光掠影的技巧。我一直对那些能够“见木见林”的经典著作情有独钟,它们不会随着技术的迭代而显得过时,反而会随着时间的沉淀,愈发显露出其价值。我期待的是,它能像一位饱经风霜的智者,为我揭示编程世界的底层逻辑,教会我如何去思考问题,而非仅仅是解决某个具体的技术难题。毕竟,技术层面的东西更新换代太快,而思维方式、解决问题的能力,才是程序员最宝贵的财富。我希望这本书能提供一种宏观的视角,让我能够跳脱出具体的语言和框架,去理解编程的本质,去领悟那些跨越语言界限的通用原则。我设想着,在某个深夜,当我面对一个棘手的bug,或者在思考一个复杂的系统设计时,能够从这本书中找到一丝启示,一种新的思考角度,让我豁然开朗,找到通往解决之道的那条“原本”的路径。那种感觉,一定会像拨云见日,非常 satisfying。
评分4年后,忽然就懂了 // 2014-10-31
评分很久之前看的,仍在受益
评分STL大神S.T.L的大作,数学背景和计算机结合的神作
评分传说中的神书,数学不好,完全看不懂,有木有,有木有。
评分也就是点范畴论, 虽然作者没有拎出这个字眼. 作为程序员, 不要面对结构(汇编, C), 也不要面对接口(Java, golang), 要面对概念
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2026 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有