Skip to content(if available)orjump to list(if available)

How to Design Programs 2nd Ed (2024)

ZoomZoomZoom

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!

fn-mote

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

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.

jmcdl

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.

WillAdams

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

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.

adamddev1

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.

KingEllis

Their website says 2014. Amazon says 2018. But definitely not 2024, unless I am missing something.

jamie_ca

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.

warkdarrior

Has anyone summarized HTDP into a prompt for something like Claude? Does it improve the quality of code generated?

paffdragon

It's very likely that it has been already scraped by AI bots.

sulam

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

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.