
Alexander Stepanov and Paul McJones establish a mathematical foundation for software development by applying algebraic structures to code. The text formalizes the discipline of generic programming through the decomposition of algorithms into their fundamental components. It utilizes C++ to demonstrate how concepts like semigroups, monoids, and total orderings relate to practical data structures. By identifying requirements for types and operations—such as regularity and complexity constraints—the authors provide a rigorous framework for building interfaces that ensure correctness and efficiency across different computational models.
This book is intended for software engineers and computer scientists who aim to move beyond ad-hoc implementation toward formal architectural precision. Readers study these pages to gain a deeper understanding of how abstract algebra dictates the behavior of reliable software. The audience walks away with a systematic methodology for identifying reusable patterns and a technical vocabulary for defining precise relationships between algorithms and the data they manipulate. It functions as a manual for writing code that is both mathematically sound and performance-oriented.
Deep, outward-looking, growth-minded and clear-cut; a demanding read.
Best for readers like The Evidence Seeker. Which reader are you?
- Published
- 2009
- Publisher
- Addison-Wesley Professional
- ISBN
- 9780321635372
- Language
- EN