书名:From Mathematics to Generic Programming
作者:AlexanderA.Stepanov/DanielE.Rose
译者:
ISBN:9780321942043
出版社:Addison-WesleyProfessional
出版时间:2011-9-13
格式:epub/mobi/azw3/pdf
页数:320
豆瓣评分: 8.1
书籍简介:
In this substantive yet accessible book, pioneering software designer Alexander Stepanov and his colleague Daniel Rose illuminate the principles of generic programming and the mathematical concept of abstraction on which it is based, helping you write code that is both simpler and more powerful. If you’re a reasonably proficient programmer who can think logically, you have all the background you’ll need. Stepanov and Rose introduce the relevant abstract algebra and number theory with exceptional clarity. They carefully explain the problems mathematicians first needed to solve, and then show how these mathematical solutions translate to generic programming and the creation of more effective and elegant code. To demonstrate the crucial role these mathematical principles play in many modern applications, the authors show how to use these results and generalized algorithms to implement a real-world public-key cryptosystem. As you read this book, you’ll master the thought processes necessary for effective programming and learn how to generalize narrowly conceived algorithms to widen their usefulness without losing efficiency. You’ll also gain deep insight into the value of mathematics to programming–insight that will prove invaluable no matter what programming languages and paradigms you use. You will learn about How to generalize a four thousand-year-old algorithm, demonstrating indispensable lessons about clarity and efficiency Ancient paradoxes, beautiful theorems, and the productive tension between continuous and discrete A simple algorithm for finding greatest common divisor (GCD) and modern abstractions that build on it Powerful mathematical approaches to abstraction How abstract algebra provides the idea at the heart of generic programming Axioms, proofs, theories, and models: using mathematical techniques to organize knowledge about your algorithms and data structures Surprising subtleties of simple programming tasks and what you can learn from them How practical implementations can exploit theoretical knowledge
作者简介:
Alexander A. Stepanov studied mathematics at Moscow State University from 1967 to 1972. He has been programming since 1972: first in the Soviet Union and, after emigrating in 1977, in the United States. He has programmed operating systems, programming tools, compilers, and libraries. His work on foundations of programming has been supported by GE, Polytechnic University, Bell Labs, HP, SGI, Adobe, and, since 2009, A9.com, Amazon’s search technology subsidiary. In 1995 he received the Dr. Dobb’s Journal Excellence in Programming Award for the design of the C++ Standard Template Library.
Daniel E. Rose is a research scientist who has held management positions at Apple, AltaVista, Xigo, Yahoo, and A9.com. His research focuses on all aspects of search technology, ranging from low-level algorithms for index compression to human–computer interaction issues in web search. Rose led the team at Apple that created desktop search for the Macintosh. He holds a Ph.D. in cognitive science and computer science from University of California, San Diego, and a B.A. in philosophy from Harvard University.
书友短评:
@ figure9 A decent book that connects number theory and abstract algebra with generic programming. A prologue to 『Elements of Programming』 @ 海马 适合高小到初中在读,或者俄罗斯数学学校在读人士。一书学遍希腊史,数列,初等数论,编程。 @ [已注销] A simple book about generic programming and mathematics. But I can still see the power of abstraction. It's the core of programming, and that's why we need to learn math more. @ 默即言 如此精妙之书怎么会读过的人这么少呢?本书的魅力在于将数学推理之美展现在我们面前,从而一步步把我们引入泛型编程的领域,所谓泛型编程即使计算机程序能够适用于较大范围的问题,而不是拘泥于几种有限的问题集之中,这正是未来的趋势,而完成此神奇挑战的基础便是数学思维能力,相信读完本书会大大提高数学感知力且能兴趣大增,这才是我们应该读的书。 @ Aphra 感觉最后到的地方没有期待得深……睡前读物益智醒脑 @ 豌豆哥 真是一本优美的小册子,回国飞机上一口气看完。作为科普书,给五星,但是作为泛型编程只能一星。用gcd串起了抽象代数的发展史,从古埃及到现代代数,有趣又好玩。 @ Aphra 感觉最后到的地方没有期待得深……睡前读物益智醒脑 @ atyuwen 数学太多,编程太少,比起Elements of Programming还是差一些。 @ 海马 适合高小到初中在读,或者俄罗斯数学学校在读人士。一书学遍希腊史,数列,初等数论,编程。 @ Geng Linxiao 以数学历史中抽象概念的行为为例,讲解C++范型编程的思想。对于读者可能有一定的门槛,但是对于有基础的读者而言,这本书从基础的数学开始,穿插着数学家和数学发现的小故事,可谓深入浅出,同时又妙趣横生。
添加微信公众号:好书天下获取
评论前必须登录!
注册