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

18 Hacker News commenters recommended How to Design Programs by Felleisen, Findler, Flatt and Krishnamurthi and 2 criticized it, November 2025 to November 2026. It was recommended in 7 of 13 months. It meets the Hacker Approved badge rule.

**Verdict:** 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.

## Why people recommend it

- Transformative experience for learning programming (2 comments): "Working through that book was one of the most wonderful and transformative experiences I've had in programming." ([source](https://news.ycombinator.com/item?id=48343422)) "I recall being repeatedly mind blown working through the book. It was great fun." ([source](https://news.ycombinator.com/item?id=45886462))
- Teaches recursion and functional thinking (3 comments): "That helped me to think about recursion, functional programming, and type driven development." ([source](https://news.ycombinator.com/item?id=48950056)) "the htdp/recursion scheme approach works quite well" ([source](https://news.ycombinator.com/item?id=48141311)) "you will retrain your brain for functional stuff" ([source](https://news.ycombinator.com/item?id=48389466))
- Clear, accessible exposition (2 comments): "the exposition of their process was excellent" ([source](https://news.ycombinator.com/item?id=48345180)) "More accesible than SICP, highly recommended" ([source](https://news.ycombinator.com/item?id=47156698))
- Builds timeless design understanding (2 comments): "The book gets you to think about and manually annotate the types coming in and out of functions." ([source](https://news.ycombinator.com/item?id=46408297)) "Builds solid timeless understanding." ([source](https://news.ycombinator.com/item?id=46342373))

## Alternatives hackers recommend

- [Crafting Interpreters by Robert Nystrom](https://hackerapproved.com/p/crafting-interpreters.md): 60 recommend
- [Clean Code by Robert C. Martin](https://hackerapproved.com/p/clean-code.md): 31 recommend
- [The Pragmatic Programmer by Hunt and Thomas](https://hackerapproved.com/p/pragmatic-programmer.md): 28 recommend
- [Mastering Emacs by Mickey Petersen](https://hackerapproved.com/p/mastering-emacs.md): 17 recommend
- [Working Effectively with Legacy Code by Michael Feathers](https://hackerapproved.com/p/working-effectively-with-legacy-code.md): 16 recommend

## Where to get it

- [See price on Amazon](https://www.amazon.com/dp/0262344122?tag=hackerapprove-20) (affiliate link)
- [Bookshop.org](https://bookshop.org/a/130825/9780262344128) (affiliate link)

## Cite as

Hacker Approved, "How to Design Programs by Felleisen, Findler, Flatt and Krishnamurthi", https://hackerapproved.com/p/how-to-design-programs/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
