Live data from Hacker News

Ask HN: Is SICP/HtDP still worth reading in 2023? Any alternatives?

news.ycombinator.com

1–10 of 103 posts

Ask HN: Is SICP/HtDP still worth reading in 2023? Any alternatives?

#1
I'm a self-taught programmer but I recently realized I need to really understand how to write programs elegantly. GPT-4 was a huge motivation for this because whenever I asked it to rewrite the code like a professional Python programmer, it would come up with amazing things. But after GPT-4 became nerfed by OpenAI, I felt a void: how can I keep writing elegant programs? My answer is: I should learn how to do that myself.

SICP uses Scheme, which I don't mind. My main concern is that it's an old book. Are there ideas and concepts not discussed in the book which are crucial in today's programming landscape? Will I be better off reading a book that uses Python in the first place?

Re: Ask HN: Is SICP/HtDP still worth reading in 2023? Any alternatives?

#2
there are a couple reasons to read those books, but the most important reason is simply to expand your wealth of knowledge. will you be writing scheme? probably not. will you benefit from knowing all the algorithms and practices that were used back when scheme was more common? almost definitely. because even if you don't use those algorithms and practices, they will surely inform your opinion of which algorithms and practices you do want to use.

i say this as someone who has not read either of those books and doesn't even know what the acronyms refer to: knowledge is good. it'll take you many years to re-learn the knowledge that is already written in those books if you don't read them.

there is a practical limit to how much knowledge you can just throw into your brain, but these surely must be some important and well-renowned books if you throw out the acronyms without clarification, so i doubt the ROI could possibly be negative

Re: Ask HN: Is SICP/HtDP still worth reading in 2023? Any alternatives?

#3
I think so. Let me ask you this, what changed that would make it irrelevant? There have not been any earth shattering advances in language design that make it obsolete.

It may not align with your ambitions as a programmer, but math and functional programming still apply.

Re: Ask HN: Is SICP/HtDP still worth reading in 2023? Any alternatives?

#4
The concepts in SICP are timeless. There's nothing to be lost going through that book.

There are video lectures you can use to accompany the book: https://youtube.com/playlist?list=PLE18841CABEA24090

Also, I highly recommend the courses How to Code: Simple Data amd How to Code: Complex Data on edX that are based on HtDP.

Re: Ask HN: Is SICP/HtDP still worth reading in 2023? Any alternatives?

#6
SICP gets challenging in the very first chapter. You should aim to do about 1/3rd of the exercises, knowing that you can come back and do more later. The first chapter will certainly improve your ability to reason about recursive code. If you lose motivation later in the book (like I did), you will still have gained something.

Re: Ask HN: Is SICP/HtDP still worth reading in 2023? Any alternatives?

#7
SICP is an amazing book that will make you a better programmer, but might not help you with the task of writing better professional Python programs. If you aspire to understand computing systems from first-principles, there's no better resource that SICP. I've read it multiple times and I learn something new each time.

Do the exercises too!

Re: Ask HN: Is SICP/HtDP still worth reading in 2023? Any alternatives?

#9
Background: SICP was the textbook for my undergrad intro to CS class, though I was already a self-taught programmer at the time.

SICP provided a different way of understanding programming. I enjoyed the class, did well, and became a big fan of Scheme for quite some time.

But the text was written for a different era, one dominated by C, PASCAL, and COBOL and when parallel programming was rare. In a time where almost all programming required working with low-level, basic programming constructs designed around the CPU's architecture, using Scheme to teach future non-academics was a great way to open their eyes to different ways of thinking about programming.

But it's close to the 40th anniversary of the first edition and past the 25th anniversary of the second. A four core CPU is low(er) end. Phones have 4+ cores. Even watches have dual-core CPUs. Ruby, Java, JavaScript, Python, Go, Rust, and a zillion frameworks are all available and widely used.

It wasn't possible to get performant Scheme on the hardware of the time. Now that we have the hardware, other languages have taken what Scheme could do and done it better.

Are the concepts useful? Certainly. But if your goal is to be a better programmer now, I'd pick a different book. If you're a Python programmer, pick a (modern, recent) Python book. If you're a JavaScript dev, then a (modern, recent) JS book.

If SICP was teaching woodworking, it would be the no power tools, start with a standing tree method. It's fascinating, it's neat, there are cool concepts to learn. But it's of little relevance, day-to-day, in a world filled with tools that let you focus on the goal instead of a million tiny details.

Re: Ask HN: Is SICP/HtDP still worth reading in 2023? Any alternatives?

#10

I haven't started it yet, but I have great expectations of ”Software Design for Flexibility: How to Avoid Programming Yourself into a Corner" by Hanson & Sussman. Hopefully someone else can provide a review?

I'm reading that right! It's cool. It's all Scheme, so get ready for that if you haven't seen it before. It's really interesting stuff though, all about how to make really extensible systems. I'm not sure how much I'll use the tools it talks about day to do, but it is really neat to have a much deeper understanding of things I often take for granted like pattern matching (regex) and generic dispatch and games solvers can be implemented from directly scratch.
Post reply on HN