How to Design Programs
How to Design Programs by Felleisen, Findler, Flatt and Krishnamurthiby Matthias Felleisen and Robert Bruce Findler and Matthew Flatt and Shriram Krishnamurthi
Hacker ApprovedRanked 4 of 115 programming books by recommenders
Recommended for learning program design, recursion and functional thinking, with praise for its exposition. One critic found its opening cash register example hard to get past.
Recommended for learning program design, recursion and functional thinking, with praise for its exposition. One critic found its opening cash register example hard to get past.
20 people gave an opinion
- recommend it
- 18
- criticize it
- 2
- approval share
- 90%
Recommended in 7 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: not recommended
- February 2026: recommended
- March 2026: not recommended
- April 2026: not recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: not recommended
- October 2026: not recommended
- November 2026: not recommended (month in progress)
Why it carries the badge
- 18 people recommend itNeeds 10 or more, met.
- 9 recommenders for every criticNeeds 2 to 1 or better, met.
- Recommended in 7 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Transformative experience for learning programming
“Working through that book was one of the most wonderful and transformative experiences I've had in programming.”
Comment from 31 May 2026 in “Racket v9.2 is now available” “I recall being repeatedly mind blown working through the book. It was great fun.”
Comment from 11 Nov 2025 in “How I fell in love with Erlang” Teaches recursion and functional thinking
“That helped me to think about recursion, functional programming, and type driven development.”
Comment from 17 Jul 2026 in “A Road to Lisp: Which Lisp” “the htdp/recursion scheme approach works quite well”
Comment from 14 May 2026 in “God Damn AI is making me dumb” “you will retrain your brain for functional stuff”
Comment from 3 Jun 2026 in “Elixir v1.20 released: now a gradually typed language” Clear, accessible exposition
“the exposition of their process was excellent”
Comment from 31 May 2026 in “Racket v9.2 is now available” “More accesible than SICP, highly recommended”
Comment from 25 Feb 2026 in “Racket v9.1” Builds timeless design understanding
“The book gets you to think about and manually annotate the types coming in and out of functions.”
Comment from 28 Dec 2025 in “Why Reliability Demands Functional Programming” “Builds solid timeless understanding.”
Comment from 21 Dec 2025 in “How would you learn to code in 2026?”
Other programming books people recommend
The four most recommended other programming books, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| Crafting Interpretersby Robert Nystrom | 60 | 4 | 94% | 10 | — | Approved |
| Clean Codeby Robert C. Martin | 31 | 87 | 26% | 9 | — | — |
| The Pragmatic Programmerby Andy Hunt and Dave Thomas | 28 | 1 | 97% | 7 | — | Approved |
| How to Design Programsby Matthias Felleisen and Robert Bruce Findler and Matthew Flatt and Shriram KrishnamurthiThis page | 18 | 2 | 90% | 7 | — | Approved |
| Mastering Emacsby Mickey Petersen | 17 | 1 | 94% | 8 | — | Approved |
What people said
20 of the 26 comments that mention it, newest first. Each links to the original comment.
“pictures and animations for ages”
“I would read (and work though the exercises in) "how to design programs"”
“"How To Design Programs" might be a better choice for someone learning Scheme.”
“That helped me to think about recursion, functional programming, and type driven development.”
“It's best described in the SICP and HTDP books”
“you will retrain your brain for functional stuff”
“the exposition of their process was excellent”
“Working through that book was one of the most wonderful and transformative experiences I've had in programming.”
“often recommended are https://htdp.org”
“I was blown away by how much she was able to just pick it up and run with it.”
“the htdp/recursion scheme approach works quite well”
“we ended up starting HtDP together and it's been fun”
“More accesible than SICP, highly recommended”
“I couldn't get past the cash register at the fun park example.”
“I've seen more praise than criticism from employers.”
“also true of Scheme based 6.001 and CS61A and HtDP”
“The book gets you to think about and manually annotate the types coming in and out of functions.”
“Builds solid timeless understanding.”
“The first resource is free and excellent, but the second goes into more detail.”
“I recall being repeatedly mind blown working through the book. It was great fun.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.