From Mathematics to Generic Programming
D**M
Interesting, well-written - merges mathematical concepts and software programming
It is a very interesting and extremely well-written book. It merges mathematical concepts and software coding of these, in order to show that generic programming ideas go hand-in-hand with mathematics. The book is worth reading also because it brings together history of mathematics (there are several 'info boxes' about prominent mathematicians and their bios and main contributions) and how their mathematical ideas developed through the centuries come about in software generic programming. More pragmatically, I like the way exercises are scattered through the text instead of crammed at the end of each chapter. It gives a nice feeling of flow to the reading experience. I have not read the whole book yet, but have been through pretty much half of it, and it is very good so far.
P**E
Inspired...and inspirational!
If you want to look under the hood to see how one of the most important current computing principles (Generic Programming) evolved, then get this book. The authors weave fascinating biographical information through an evolving story, showing how the breakthrough works of key historical figures in Mathematics eventually led us to where we are today. A very basic primer in Abstract Algebra is provided for those whose lives have not yet been warmed by the glow of the burning embers of group, ring and field theory. I was left with a great sense of appreciation for the Mathematicians whose work we are now able to use to practical advantage every day. And, it left me wondering what other advancements might be possible, using these and perhaps other abstract mathematical truths, learned over time.
C**Y
Entertaining and easy to read
As good as it was, I never enjoyed Stepanov's earlier book, "The Elements Of Programming" (https://www.amazon.com/Elements-Programming-Alexander-Stepanov/dp/0578222140). It reminded of a healthy meal that is good for you but simply not any fun. The kind with too much undercooked broccoli and asparagus, and not enough steak. This later book, to stretch the food analogy, is the hamburger and fries version on the same subject! It is straightforward, easy to read, and enjoyable.The math included here is simply classic stuff, and it is presented in the traditional manner of statements and proofs. Sidebars containing short biographies of mathematicians provide a welcome respite from the proofs and C++ code. If you've studied college level algebra most of the topics discussed will be familiar, while the explanation of how these ideas relate to (generic) programming will probably be new.There are definitely moments where the whole thing can sometimes seem forced and unnatural. For example, a paragraph introducing iterators claims that "iterators come to us directly from Peano's axioms". This is immediately followed by many sentences explaining why the axioms actually do not apply at all! Also, while I generally prefer the use of a real programming language in books like these, the discussion meandered into C++ trivia more often than I liked.So, yes, it's not perfect, but I'd still recommend it to anyone who enjoys math, and is prepared to delve into some C++ code. I suspect that even if you already know everything in this book (I certainly did not), you would still enjoy it in the same way that a good pulp fiction novel helps while away a long airplane ride.
J**H
For those of us who need a refresher-- and a bit more.
Computer programming is a wholly mathematical pursuit. Although many computer science departments are housed in engineering, the heart and soul is abstract mathematics.This book reminds us that a computer only does what it is told to do-- and told in a proper fashion. While the present tends fall towards AI --- this book takes a decidedly different tact---- It gives us the rudimentary basics of computer security-- whose fundamentals rest in Abstract Algebra. It is a joy to read.
B**L
Well worth reading
I like how the authors interwove concepts from abstract algebra with computer science. Never thought I would see groups and rings and looser structures applied to generic algorithms or that the GCD could be generalized as much as it is. The book gave me many insights into the design and implementation of the Standard Template Library of C++. I also appreciated the brief biographies of prominent and lesser known mathematicians. Although it does have a short appendix on C++, the reader should be well versed in the language.
S**S
Good book. Very educational
I have just started reading this book. It really talks about math and the part it has played over the years. As a person who is always interesting creating API's and generic programming. I found it very good read so far. I have taking the programs they make and compiling them on Mac and Windows machines. So far it works very well in C or C++. If you are trying to improve you programming skills it is definitely worth the read.
A**R
Well worth a read
This is an exceptionally well-written book that traces the development of mathematics throughout history from specific to more general forms. Unlike most math-heavy books I've read, the evolution of the material from chapter to chapter actually made sense. The only downside is that it's a little sparse on applying the concepts to actual applicable programming practices, and a number of the hypotheticals in the book were incorporated into newer C++ standards since the book was released.
T**Y
This book is very good, one of a kind
This book is very good, one of a kind. Explanations are clear. It's fun to read. The math and code are intertwined in quite a remarkable fashion. I guess this is what a Rembrandt painting would look like, if painted in C++ on math canvas. I would recommend this book to anyone who programs in C++, from beginner to expert level.
N**N
A book for serious programmers, who care about writing well thought generic code.
"To be a good programmer, you need to understand the principles of generic programming. To understand the principles of generic programming, you need to understand abstraction. To understand abstraction, you need to understand the mathematics on which it is based." - That's the story which the book is telling.It is a book for serious programmers (both novice and expert), who care about the intricate details of their code including its generic usability, interface, performance, maintainability and extensibility. The book has a general bias towards C++ programmers and often sites examples/use cases from the C++ STL.It is a not a book for programmers who care about getting work done real quick (and often dirty). It is a sort of marathon not a sprint.
B**N
Visionary c++ code-library author and engaging teacher
The book takes you through history charting some key mathematical developments through the ages and in different cultures that makes for both an enjoyable and educational read. It also displays how to map theoretical detail to produce effective algorithms through an initial starting-block leading into iterative refinements. It's Interesting how these mirror the style of the landmark STL that changed the way that many people think about programming after years of being drilled in entrenched object-oriented thinking. If only we all had teachers like these.
J**N
Contenu accessible, mais finalité limitée.
Matière assez intéressante et parallélisme entre les mathématiques et la programmation prometteur.La côté "code" est malheureusement un peu (trop) mis de côté.
G**R
Una auténtica obra de arte de Stepanov.
Este libro me ha encantado porque explica la programación genérica desde un punto de vista matemático y siempre desde dentro de un contexto.
Ö**I
Promising Book for Programmers
I didnt read all the book to actually give a review. I read the books first 4 chapters and it is very good. I had to re-read sometimes to get a better understanding. I would definitely suggest the book to everyone who is interested in know-how's of the basic implementation of computing techniques using programming languages.
Trustpilot
3 weeks ago
1 month ago