Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of How to Design Programs

    How to Design Programs

    Matthias Felleisen · 2001

    This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills -- critical reading, analytical thinking, creative synthesis, and attention to detail -- that are important for everyone, not just future computer programmers. The book exposes readers to two fundamentally new ideas. First, it presents program design guidelines that show the reader how to analyze a problem statement; how to formulate concise goals; how to make up examples; how to develop an outline of the solution, based on the analysis; how to finish the program; and how to test. Each step produces a well-defined intermediate product. Second, the book comes with a novel programming environment, the first one explicitly designed for beginners. The environment grows with the readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks. - Publisher.

    ProgrammingComputer ScienceLisp & Functional
    Open LibraryAmazon
    Stats for nerds
    277recommend
    776mentions
    440people
    2007–2026years
    60% recommend37% neutral3% critical

    Mentions per year

    20072009201120132015201720192021202320252026

    What Hacker News says

    1. zemAug 2026
      I would read (and work though the exercises in) "how to design programs", then follow it up with "the pragmatic programmer". that should catch you up with a lot of best practices.
      thread
    2. skydhashJul 2026
      > I would now place "learning to code" in the same category as "making a living as a poet." As in, it's truly enjoyable art and some people appreciate it, but you'd better plan for a day job.

      Learning to code is not merely learning a syntax and some tooling. It’s best described in the SICP and HTDP books, as a mindset of formalizing a process enough that a dumb machine could do it. Then by building abstractions towers, we have better symbols and semantics to notate the formal aspect.

      It seems that a lot of management no longer wants to provide workflows tooling to their users. Instead they want to create a wish box where those workflows would materialize somehow.

      thread
    3. adamddev1Jul 2026
      How to Design Programs with Racket was life changing.

      https://htdp.org

      That helped me to think about recursion, functional programming, and type driven development. After going through HTDP I was able to breeze through complex problems that were unsolvable before.

      thread
    4. vincent-manisJul 2026
      SICP is not intended as a how-to-program manual, it attempts to lay the foundation for a big chunk of computer science. “How To Design Programs” might be a better choice for someone learning Scheme. (But SICP will turn some of the people on to CS as a discipline.)
      thread
    5. adamddev1Jun 2026
      Do https://htdp.org and follow all the exercises carefully (yes, it will feel like baby work at first) - you will retrain your brain for functional stuff. :-)
      thread
    6. sn9May 2026
      How to Design Programs: https://htdp.org/2026-2-25//Book/index.html
      thread

    Related

    Cover of Structure and Interpretation of Computer Programs
    2007–2026

    Structure and Interpretation of Computer Programs

    Harold Abelson
    347 recommend · 761
    Cover of The Little Schemer
    2007–2026

    The Little Schemer

    Daniel P. Friedman
    288 recommend · 652
    Cover of On LISP
    2007–2026

    On LISP

    Paul Graham
    192 recommend · 533
    Cover of Practical Common Lisp
    2007–2026

    Practical Common Lisp

    Peter Seibel
    218 recommend · 400
    Cover of The little MLer
    2008–2025

    The little MLer

    Matthias Felleisen
    6 recommend · 15
    Cover of Realm of Racket
    2011–2024

    Realm of Racket

    Forrest Bice
    37 recommend · 72
    Cover of Programming Erlang
    2007–2026

    Programming Erlang

    Joe Armstrong
    69 recommend · 105
    Cover of Lisp in Small Pieces
    2007–2026

    Lisp in Small Pieces

    Christian Queinnec
    101 recommend · 246