[HN Gopher] How to Design Programs 2nd Ed (2024)
       ___________________________________________________________________
        
       How to Design Programs 2nd Ed (2024)
        
       Author : AbuAssar
       Score  : 98 points
       Date   : 2025-06-20 15:51 UTC (7 hours ago)
        
 (HTM) web link (htdp.org)
 (TXT) w3m dump (htdp.org)
        
       | warkdarrior wrote:
       | Has anyone summarized HTDP into a prompt for something like
       | Claude? Does it improve the quality of code generated?
        
         | paffdragon wrote:
         | It's very likely that it has been already scraped by AI bots.
        
           | sulam wrote:
           | Yes, but also a lot of other things. It's important to direct
           | the LLM to emphasize some embeddings vs others. This makes
           | the chances of you getting good results exponentially higher.
        
             | soco wrote:
             | But that would be supervised learning which we don't do
             | (anymore) around here... honestly I wouldn't be surprised
             | if the whole craze circles back to good old supervision,
             | albeit many times empowered by what we have today on the
             | shelves.
        
       | KingEllis wrote:
       | Their website says 2014. Amazon says 2018. But definitely not
       | 2024, unless I am missing something.
        
         | jamie_ca wrote:
         | Direct link is https://htdp.org/2024-11-6/Book/index.html which
         | says "Released on Wednesday, November 6th, 2024 7:36:10pm"
         | 
         | I think this is the 2024 digital release of the 2014/2018
         | physical publication.
        
           | fn-mote wrote:
           | I believe it was edited on the release date given.
        
       | ZoomZoomZoom wrote:
       | Since this is actually the same edition that's been available for
       | at least 7 years, but you still clicked the link, it's very
       | likely you're interested in something along those lines. Consider
       | getting _" Concepts, Techniques, and Models of Computer
       | Programming First Edition"_[1] by Peter Van Roy and Seif Haridi.
       | Although not exactly cutting edge (2004) and Oz-centric[2], still
       | a great read and, for many, a fresh perspective.
       | 
       | 1.
       | https://en.wikipedia.org/wiki/Concepts,_Techniques,_and_Mode...
       | 
       | 2. https://en.wikipedia.org/wiki/Oz_(programming_language)
       | 
       | PS: I'll appreciate your recommendations as replies!
        
         | jmcdl wrote:
         | How worthwhile is it without being able to run the code
         | examples and do the exercises? Getting Oz working is a real
         | pain at best.
        
         | fn-mote wrote:
         | It would be more helpful to me if you said something about why
         | you recommend it.
         | 
         | Like: what's different from just "the rust programming
         | language" (which is obviously not a beginner text, just
         | trolling).
        
           | ZoomZoomZoom wrote:
           | Incidentally, in my opinion, The Rust Book was laid out
           | exceptionally well for system programming beginners, at least
           | in the state I read it through about 8 years ago or so. Steve
           | and contributors managed to achieve a great balance between
           | thoroughness and approachability of the text while dodging
           | the curse of knowledge in a commendable way.
           | 
           | However, The Rust Book is as far from _Concepts_ as it is
           | from HTDP. It presents a specific language model in its
           | relation to the hardware and common applications one faces
           | while implementing what Concepts and HTDP teach to, well,
           | design.
        
         | justin66 wrote:
         | Wow, version 2 of Mozart is still incomplete, after all these
         | years. I assume it will never happen.
         | 
         | http://mozart2.org/
        
       | adamddev1 wrote:
       | Working through this was extremely helpful in getting me to think
       | about building things with types, functions, and recursion. I saw
       | an exponential increase in my problem-solving abilities after it.
       | Can't recommend it enough.
        
       | WillAdams wrote:
       | How does this compare to Ousterhout's _A Philosophy of Software
       | Design_
       | 
       | https://www.goodreads.com/en/book/show/39996759-a-philosophy...
       | 
       | https://news.ycombinator.com/item?id=37975558
       | 
       | Looking over the ToC there seems to be at least some overlap, but
       | at a more basic level and sans the over arching concepts of
       | APoSD.
        
         | Jtsummers wrote:
         | HTDP teaches how to program. _Philosophy_ does not. That 's
         | pretty much the entire difference, they're in different
         | categories of books. _Philosophy_ assumes you know how to
         | program, and attempts to teach a way of programming. HTDP
         | starts from the beginning with no assumptions about the reader
         | 's ability to program.
        
       | subharmonicon wrote:
       | Off topic, but the typesetting here looks top notch and I am
       | curious if anyone can elaborate on the tooling used to render
       | this for the web?
        
         | Jtsummers wrote:
         | From the Acknowledgements:
         | 
         | > The HTML layout at htdp.org is the work of Matthew Butterick,
         | who created these styles for our on-line documentation.
         | 
         | Some of his other work:
         | 
         | https://docs.racket-lang.org/pollen/
         | 
         | https://beautifulracket.com/
        
           | matthberg wrote:
           | He's also the person behind Practical Typography [0], a great
           | reference/guide for essential typography and layout concepts
           | and terms. It has opinionated recommendations covering nearly
           | everything you'll need to make beautiful documents like this
           | one.
           | 
           | Particularly helpful is the practical advice: how to get the
           | desired results in Word, Pages, or with HTML/CSS; not just
           | high-level abstract guidelines. There's everything from
           | keyboard shortcuts for inserting different dashes (to
           | accompany the explanation on when to use each type) [1] to
           | guidance on page margins in print and on the web [2].
           | 
           | 0: https://practicaltypography.com/
           | 
           | 1: https://practicaltypography.com/hyphens-and-dashes.html
           | 
           | 2: https://practicaltypography.com/page-margins.html
        
         | neilv wrote:
         | https://docs.racket-lang.org/scribble/
         | 
         | It's like LaTeX, but in Scheme.
         | 
         | Matthew Butterick did the visual redesign of the Web format
         | output.
        
           | neilv wrote:
           | At one point, I made my embedded API/package docs tool use
           | Scribble.
           | 
           | For example, this document for a package is generated
           | entirely from fragments scattered throughout the code, and
           | package metadata: https://docs.racket-lang.org/roomba/
        
         | zelphirkalt wrote:
         | I am not quite sure what you mean. When I click the link and go
         | to some page of the book, I see the usual interface of racket
         | docs and such. I just see text on a web page. Do you mean the
         | font? Or something else?
        
       ___________________________________________________________________
       (page generated 2025-06-20 23:01 UTC)