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.
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
發表於2024-11-22
From Mathematics to Generic Programming 2024 pdf epub mobi 電子書 下載
圖書標籤: 數學 Programming 泛型 計算機科學 編程 C++ 計算機 抽象
如此精妙之書怎麼會讀過的人這麼少呢?本書的魅力在於將數學推理之美展現在我們麵前,從而一步步把我們引入泛型編程的領域,所謂泛型編程即使計算機程序能夠適用於較大範圍的問題,而不是拘泥於幾種有限的問題集之中,這正是未來的趨勢,而完成此神奇挑戰的基礎便是數學思維能力,相信讀完本書會大大提高數學感知力且能興趣大增,這纔是我們應該讀的書。
評分真是一本優美的小冊子,迴國飛機上一口氣看完。作為科普書,給五星,但是作為泛型編程隻能一星。用gcd串起瞭抽象代數的發展史,從古埃及到現代代數,有趣又好玩。
評分數學太多,編程太少,比起Elements of Programming還是差一些。
評分數學太多,編程太少,比起Elements of Programming還是差一些。
評分真是一本優美的小冊子,迴國飛機上一口氣看完。作為科普書,給五星,但是作為泛型編程隻能一星。用gcd串起瞭抽象代數的發展史,從古埃及到現代代數,有趣又好玩。
From Mathematics to Generic Programming 2024 pdf epub mobi 電子書 下載