frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

How to Design Programs 2nd Ed (2024)

https://htdp.org
126•AbuAssar•7mo ago

Comments

warkdarrior•7mo ago
Has anyone summarized HTDP into a prompt for something like Claude? Does it improve the quality of code generated?
paffdragon•7mo ago
It's very likely that it has been already scraped by AI bots.
sulam•7mo ago
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•7mo ago
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•7mo ago
Their website says 2014. Amazon says 2018. But definitely not 2024, unless I am missing something.
jamie_ca•7mo ago
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•7mo ago
I believe it was edited on the release date given.
ZoomZoomZoom•7mo ago
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•7mo ago
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•7mo ago
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•7mo ago
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.

steveklabnik•7mo ago
Thank you, that’s very kind. It was a lot of work!
hollerith•7mo ago
I agree. I don't recall exactly when I read it, but it was about 8 years ago, too. In that state, the Rust Book was very very good for people like me (i.e., had already learned many PLs).
justin66•7mo ago
Wow, version 2 of Mozart is still incomplete, after all these years. I assume it will never happen.

http://mozart2.org/

adamddev1•7mo ago
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•7mo ago
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•7mo ago
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•7mo ago
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•7mo ago
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•7mo ago
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•7mo ago
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•7mo ago
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•7mo ago
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?

We Mourn Our Craft

https://nolanlawson.com/2026/02/07/we-mourn-our-craft/
64•ColinWright•58m ago•28 comments

Speed up responses with fast mode

https://code.claude.com/docs/en/fast-mode
18•surprisetalk•1h ago•15 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
120•AlexeyBrin•7h ago•23 comments

U.S. Jobs Disappear at Fastest January Pace Since Great Recession

https://www.forbes.com/sites/mikestunson/2026/02/05/us-jobs-disappear-at-fastest-january-pace-sin...
96•alephnerd•1h ago•44 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
823•klaussilveira•21h ago•248 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
55•vinhnx•4h ago•7 comments

Al Lowe on model trains, funny deaths and working with Disney

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
53•thelok•3h ago•6 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
102•1vuio0pswjnm7•8h ago•118 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
1057•xnx•1d ago•608 comments

Reinforcement Learning from Human Feedback

https://rlhfbook.com/
75•onurkanbkrc•6h ago•5 comments

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
476•theblazehen•2d ago•175 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
202•jesperordrup•11h ago•69 comments

France's homegrown open source online office suite

https://github.com/suitenumerique
545•nar001•5h ago•252 comments

Coding agents have replaced every framework I used

https://blog.alaindichiappari.dev/p/software-engineering-is-back
213•alainrk•6h ago•332 comments

Selection Rather Than Prediction

https://voratiq.com/blog/selection-rather-than-prediction/
8•languid-photic•3d ago•1 comments

A Fresh Look at IBM 3270 Information Display System

https://www.rs-online.com/designspark/a-fresh-look-at-ibm-3270-information-display-system
34•rbanffy•4d ago•7 comments

72M Points of Interest

https://tech.marksblogg.com/overture-places-pois.html
27•marklit•5d ago•2 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
113•videotopia•4d ago•30 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
73•speckx•4d ago•74 comments

Software factories and the agentic moment

https://factory.strongdm.ai/
68•mellosouls•4h ago•73 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
273•isitcontent•21h ago•37 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
199•limoce•4d ago•111 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
285•dmpetrov•22h ago•153 comments

Show HN: Kappal – CLI to Run Docker Compose YML on Kubernetes for Local Dev

https://github.com/sandys/kappal
21•sandGorgon•2d ago•11 comments

Making geo joins faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
155•matheusalmeida•2d ago•48 comments

Ga68, a GNU Algol 68 Compiler

https://fosdem.org/2026/schedule/event/PEXRTN-ga68-intro/
43•matt_d•4d ago•18 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
555•todsacerdoti•1d ago•268 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
424•ostacke•1d ago•110 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
472•lstoll•1d ago•312 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
348•eljojo•1d ago•215 comments