Elements of Programming
Why Stack Overflow recommends it
Stack Overflow users link it when explaining generic programming, the STL's design lineage, and how mathematics relates to programming, citing Stepanov directly.
Recommended by 3 people across 3 different months, 2013 to 2024.
What it is
A November 2010 Stanford talk in which Alexander Stepanov and Paul McJones present their book Elements of Programming. They argue that programming is a mathematical discipline and explain the thinking behind generic programming and the book's approach.
What people said
Strong rec Evgeny Panasyuk · 2013-04 · Stack Overflow · on “Is there a standard abstraction for semirings or monoids in C++?”
SGI STL [LINK] has MonoidOperation [LINK] concept. For instance power [LINK] function is implemented for MonoidOperation . Boost.Graph [LINK] library also defines Monoid concept [LINK] . In addition to already suggested [LINK] Elements of Programming [LINK] you may look to Notes on Programming [LINK] by Alexander Stepanov (one of authors of EoP ). Notes are freely available, and have some overlap with EoP book. There are style difference between EoP and Notes - EoP is very terse like math textbook, but Notes are more "informal" - there some small stories, etc. By the way, both have some discussion of referenced above power function implementation. P.S. there are great talks by Alexander Step
Recommends jjpcondor · 2014-03 · Stack Overflow · on “"Elements of Programming" real world examples?”
It is good to see Stepanov's talk given at StanfordUniversity. Is related to his book Elements of Programming. hhttps: [this video] He gives his view how programming and mathematics are related. I find it extremely interesting that Sean Parent (from Adobe Photoshop team) in 2007 has stated that: Photoshop has 3 millions LOC and by using STL (Standard Template Library) methodology it could be rewritten in only 30 kLOC, 100 times less - compression of magnitude 2! [LINK] I find it fascinating, that STL port (or should it be called rewrite or perhaps refactoring) enables such high, upto 2 orders of magnitude compression of source code of huge applications like MSWord or Adobe Photoshop. Here is an I
Recommends Dave Abrahams · 2024-10 · Stack Overflow · on “What is the meaning of "generic programming" in c++?”
Generic programming is *not* about writing code that is evaluated at compile time and is very specifically *not* template metaprogramming—“perish the thought,” says Alexander Stepanov [this video] , the father of generic programming. This post [LINK] characterizes generic programming correctly.