[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)