Hacker ApprovedDepartments

How to Design Programs

How to Design Programs by Felleisen, Findler, Flatt and Krishnamurthi

by Matthias Felleisen and Robert Bruce Findler and Matthew Flatt and Shriram Krishnamurthi

Hacker Approved

Ranked 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%
Each figure is one person. RecommendsCriticizes

Recommended in 7 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: not recommended
  4. February 2026: recommended
  5. March 2026: not recommended
  6. April 2026: not recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: not recommended
  12. October 2026: not recommended
  13. 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.

How to Design Programs by Felleisen, Findler, Flatt and Krishnamurthi compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Crafting Interpretersby Robert Nystrom60494%10—Approved
Clean Codeby Robert C. Martin318726%9——
The Pragmatic Programmerby Andy Hunt and Dave Thomas28197%7—Approved
How to Design Programsby Matthias Felleisen and Robert Bruce Findler and Matthew Flatt and Shriram KrishnamurthiThis page18290%7—Approved
Mastering Emacsby Mickey Petersen17194%8—Approved
See all 115 programming books, ranked

What people said

20 of the 26 comments that mention it, newest first. Each links to the original comment.

“pictures and animations for ages”

CriticizesComment from 26 Aug 2026 in “Python's pre-declared constants are kinda weird”

“I would read (and work though the exercises in) "how to design programs"”

RecommendsComment from 16 Aug 2026 in “Software Engineering fundamentals matter more”

“"How To Design Programs" might be a better choice for someone learning Scheme.”

RecommendsComment from 29 Jul 2026 in “Steel Bank Common Lisp version 2.6.7”

“That helped me to think about recursion, functional programming, and type driven development.”

RecommendsComment from 17 Jul 2026 in “A Road to Lisp: Which Lisp”

“It's best described in the SICP and HTDP books”

RecommendsComment from 7 Jul 2026 in “Learning to code is still worthwhile”

“you will retrain your brain for functional stuff”

RecommendsComment from 3 Jun 2026 in “Elixir v1.20 released: now a gradually typed language”

“the exposition of their process was excellent”

RecommendsComment from 31 May 2026 in “Racket v9.2 is now available”

“Working through that book was one of the most wonderful and transformative experiences I've had in programming.”

RecommendsComment from 31 May 2026 in “Racket v9.2 is now available”

“often recommended are https://htdp.org”

RecommendsComment from 29 May 2026 in “Ask HN: Any advice on how to learn good software architecture practices?”

“I was blown away by how much she was able to just pick it up and run with it.”

RecommendsComment from 26 May 2026 in “Nobody cracks open a programming book anymore”

“the htdp/recursion scheme approach works quite well”

RecommendsComment from 14 May 2026 in “God Damn AI is making me dumb”

“we ended up starting HtDP together and it's been fun”

RecommendsComment from 12 May 2026 in “If AI Writes Your Code, Why Use Python?”

“More accesible than SICP, highly recommended”

RecommendsComment from 25 Feb 2026 in “Racket v9.1”

“I couldn't get past the cash register at the fun park example.”

CriticizesComment from 24 Feb 2026 on Hacker News

“I've seen more praise than criticism from employers.”

RecommendsComment from 17 Feb 2026 in “Simply Scheme: Introducing Computer Science (1999)”

“also true of Scheme based 6.001 and CS61A and HtDP”

RecommendsComment from 17 Feb 2026 in “Simply Scheme: Introducing Computer Science (1999)”

“The book gets you to think about and manually annotate the types coming in and out of functions.”

RecommendsComment from 28 Dec 2025 in “Why Reliability Demands Functional Programming”

“Builds solid timeless understanding.”

RecommendsComment from 21 Dec 2025 in “How would you learn to code in 2026?”

“The first resource is free and excellent, but the second goes into more detail.”

RecommendsComment from 16 Dec 2025 in “Get Better at Programming?”

“I recall being repeatedly mind blown working through the book. It was great fun.”

RecommendsComment from 11 Nov 2025 in “How I fell in love with Erlang”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.