From Mathematics to Generic Programming - Alexander Stepanov, Daniel Rose

From Mathematics to Generic Programming

Alexander Stepanov, Daniel Rose

出版时间

2011-09-13

ISBN

9780321942043

评分

★★★★★
书籍介绍
In their new book From Mathematics to Generic Programming, C++ STL creator Alexander Stepanov and Information Retrieval researcher Daniel Rose show how programmers can become more effective by learning about the idea of abstraction and the math it relies on. In an engaging and accessible fashion, they describe how these mathematical results were first discovered and are surprisingly useful in programming. Aimed at a wider audience than the classic Elements of Programming by Stepanov and McJones, From Mathematics to Generic Programming takes a less formal approach, interleaving discussions of programming, mathematical results, and stories of the people who made these discoveries throughout history. The authors trace the development of common algorithms from ancient times to the present, and show how to generalize them to new applications — even to the secure protocols of modern Internet commerce. From Mathematics to Generic Programming is a great introduction to the core principles of generic programming for the professional programmer. The authors work through examples showing how to analyze the requirements of an algorithm and make it as general as possible. The book includes several programming “laws” of particular interest to those building software components.
精彩摘录
  • "伽罗瓦在决斗中受伤,并因此身亡。他一心想要参加的是政治革命,然而实际上所引发的却是数学革命。"
作者简介
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.
用户评论
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.
感觉最后到的地方没有期待得深……睡前读物益智醒脑
不明白有什么可推崇的,当年抽象代数都未能改进量子力学,这些数学结构只会让编程更难、更不易理解问题,语言也非常枯燥生硬。
初看全是定理,再看都是例子~要是作者再出一版Haskell的就更妙了
真是一本优美的小册子,回国飞机上一口气看完。作为科普书,给五星,但是作为泛型编程只能一星。用gcd串起了抽象代数的发展史,从古埃及到现代代数,有趣又好玩。
数学太多,编程太少,比起Elements of Programming还是差一些。
收藏