by kykeonaut on 2/11/25, 6:04 PM with 12 comments
by rramadass on 2/15/25, 11:04 AM
I have all of his books and they are all great (though not easy!). His starting point is "Algebraic Structures" (basically sets of objects and operations defined on them eg. Groupoid/SemiGroup/Monoid/Group etc.) and so some familiarity with Abstract Algebra/Discrete Mathematics is assumed. The mapping he does from the mathematics to a language construct modeling a concept is what gives one the insight into programming. His other book From Mathematics to Generic Programming gives one a more "easier" approach to the subject and should be read in conjunction with this one for better understanding.
A related old book is Ruminations on C++: A Decade of Programming Insight and Experience by Andrew Koenig and Barbara Moo. This is derived from a collection of articles written by Koenig when he was working closely with Stepanov on his ideas and implementation of STL. His idea of programming templates in a functional and generic manner is what is conveyed in this book in the "templates" section and is still quite illuminating (no math but short C++ code in articles). So something which might not be clear from Stepanov's mathematical treatment may be clearer here since you can see an actual C++ implementation (warts and all).
by dang on 2/14/25, 10:08 PM
Elements of Programming (2019) - https://news.ycombinator.com/item?id=32459443 - Aug 2022 (11 comments)
Elements of Programming - https://news.ycombinator.com/item?id=20437347 - July 2019 (24 comments)
Alex Stepanov (STL) just published a book on math foundations of programming - https://news.ycombinator.com/item?id=665987 - June 2009 (1 comment)
by mempko on 2/14/25, 9:13 PM
by layer8 on 2/14/25, 10:54 PM
by kragen on 2/15/25, 6:48 AM
by iLemming on 2/14/25, 9:28 PM
Oh wait. I stand corrected - I missed that it said "Copyright 2009", "First printing 2019", not sure why it took so long to get it printed.