The book presents a number of algorithms and requirements for types on which they are defined. This subset is defined in a special language appendix coauthored by Sean Parent and Bjarne Stroustrup. Whether you are a software developer, or any other professional for whom programming is an important activity, or a committed student, you will come to understand what the book's experienced authors have been teaching and demonstrating for years--that mathematics is good for programming, and that theory is good for practice.
Get A Copy. Hardcover , pages. Published June 1st by Addison-Wesley Professional first published More Details Original Title. Other Editions 7. Friend Reviews. To see what your friends thought of this book, please sign up. To ask other readers questions about Elements of Programming , please sign up. Be the first to ask a question about Elements of Programming. Lists with This Book. Community Reviews. Showing Rating details. More filters. Sort order.
Start your review of Elements of Programming. Mar 03, Chris Sharpe rated it really liked it. This one was a bit of a slog. Because it tries to be both a Mathematics and a Computer Science book, it skims a little over both, and I can't honestly recommend it unless you have a little background in both areas which seems likely, if you are considering this.
For instance, it uses the taxonomy of algebraic structures monoids, groups, rings , with requirements on operations associativity, commutativity, existence of identity, existence of inverses to illustrate constructing a taxonomy of This one was a bit of a slog.
For instance, it uses the taxonomy of algebraic structures monoids, groups, rings , with requirements on operations associativity, commutativity, existence of identity, existence of inverses to illustrate constructing a taxonomy of concepts that apply to data structures, but it doesn't dedicate much explanation to the mathematical structures, so you can only really follow if you already know them.
If you already have some idea about how gcd, rotate, and partition work, then you should be reasonably well set to learn a lot more about possible implementation variations, with their respective asymptotic complexities and requirements on the types on which they operate.
Some of the above might seem negative, but I simply want to point out what the book is not. What it is , is an excellent academic guide to carefully designing simple components, and building complex behaviour out of those, along with a catalogue of some useful such components.
I learnt a lot about fundamentals such as partitioning, sorting, vectors, and deques. One key component that Stepanov has talked about a lot, but that didn't seem to get quite as much stress here, is his associative binary counter, absolutely essential for efficient iterative reduction. I found the description in this book finally made this idea click, even though I had seen it several times before.
Oct 28, Nikolai Volsky rated it it was amazing. This book was at hand in the best moment! Apr 29, Gary Lang rated it really liked it. You might enjoy the combination of math theory and applying it to practical coding. If you do, then you should love this book. Usually stuff like this doesn't have as much application to real life see Z Notation. Mar 06, Maxim Razin rated it liked it. The name is misleading. And then we wonder why software is notorious for being delivered late and full of bugs, while other engineers routinely deliver finished bridges, automobiles, electrical appliances, etc.
This book sets out to redress this imbalance. Members of my advanced development team at Adobe who took the course based on the same material all benefited greatly from the time invested.
It may appear as a highly technical text intended only for computer scientists, but it should be required reading for all practicing software engineers.
Its major premise is that practical programming, like other areas of science and engineering,must be based on a solid mathematical foundation. For example, the fast exponentiation algorithm is defined to work with any associative operation.
Using abstract algorithms leads to efficient, reliable, secure, and economical software. This is not an easy book. Nor is it a compilation of tips and tricks for incremental improvements in your programming skills. To benefit fully, you will need to work through it from beginning to end, reading the code, proving the lemmas, and doing the exercises. The book presents a number of algorithms and requirements for types on which they are defined.
This subset is defined in a special language appendix coauthored by Sean Parent and Bjarne Stroustrup. About the Author s. Pearson offers affordable and accessible purchase options to meet the needs of your students.
Connect with us to learn more. Alexander Stepanov studied mathematics at Moscow State University from to He has been programming since first in the Soviet Union and, after emigrating in , in the United States. He has programmed operating systems, programming tools, compilers, and libraries. In he received the Dr. Paul McJones studied engineering mathematics at the University of California, Berkeley, from to He has been programming since in the areas of operating systems, programming environments, transaction processing systems, and enterprise and consumer applications.
We're sorry! We don't recognize your username or password. Please try again.
0コメント