It’s interesting, SICP and other many other “classic” texts talk about designing programs, but these days I think the much more important skill is designing systems. I don’t know if distributed systems is consider part of “Computer Science” but it is a much more common problem that I see needs to be solved. I try to write systems in the simplest way possible and then use observability tools to figure out where the de…
Do you have any distributed systems design books to recommend?
SICP: The only computer science book worth reading twice? (2010)
171–180 of 189 posts
Re: SICP: The only computer science book worth reading twice? (2010)
#172Earlier quoted context omitted.
Have you looked at it? It's an abomination. The point of SICP isn't Scheme or the syntax of Scheme, but what it represents. Whoever made the Javascript rewrite didn't understand that. You can't write a metacircular interpreter in Javascript, because Javascript is not homoiconic.
You can't write a metacircular interpreter in Javascript, because Javascript is not homoiconic. Is that a downside? I never wrote or used metacurcular interpreter in my life and still don’t know why I had to read about it. Is it an interesting implementation technique of lisp? Yes. Does anyone really need that? You can rip off that part and everything that follows and that will be enough for a regular programmer. No…
Re: SICP: The only computer science book worth reading twice? (2010)
#173i'd also recommend "Concrete Abstractions: An Introduction to Computer Science using Scheme" by Max Hailperin, Barbara Keiser, Karl Knight. http://www.gustavus.edu/+max/concrete-abstractions.html
Re: SICP: The only computer science book worth reading twice? (2010)
#174There are some great books, and every book means something different to each person who reads it. K&R influenced a generation of programmers. Hennessy and Patterson influence a generation of architects. etc. etc. It's not just SICP. But the greater point: a book can be meaningful, and we can always use more good ones.
Re: SICP: The only computer science book worth reading twice? (2010)
#175Earlier quoted context omitted.
I recall that when MIT stopped teaching with SICP, one of the main claims was that programming now is often not about thinking abstractions through from first principles, and creating some isolated gem of composing definitions. Which is a category mistake that they actually address in the lectures. SICP is not a programming course, it’s a computer science course. Computer science is not about computers, let alone pro…
You don't think they can address both needs? What are non-MIT schools teaching when they teach CS if it's not SICP? Is everyone else just a vocational school?
Re: SICP: The only computer science book worth reading twice? (2010)
#176I haven’t seen it in the comments yet, but you can watch Abelson and Sussman teaching the material from this book from recorded lectures in 1986. I still find their description of how to create and group abstractions in various layers to be useful personally and as a mentor. (In the videos, lesson 3A, 1:07:55) https://m.youtube.com/playlist?list=PLE18841CABEA24090
Re: SICP: The only computer science book worth reading twice? (2010)
#177Earlier quoted context omitted.
> but these days I think the much more important skill is designing systems. It is hard to design systems if you don't have the perspective of implementing them. Yes, you move up the value chain to designing things, no, but no, you don't get to skip gaining experience lower down the value chain. > What computer science doesn’t teach you is how memory caching works in CPUs. That was literally my first quarter in my CS…
> the old Hennessy and Patterson book, which I believe is still used today. Do you mean "Computer Organization and Design - The Hardware / Software Interface" or "Computer Architecture: A Quantitative Approach"? Thanks.
Re: SICP: The only computer science book worth reading twice? (2010)
#178Earlier quoted context omitted.
IMO it's not excellent. It's not like SICP, it's obtuse for no reason, I find it a hard slog. Flexibility is good but it seems to try to make every bit of your program flexibile and pluggable and you just need to do something eventually. My opinion, I'd welcome others on the book; there was a small splash when it came out but not much discussion since.
I haven't read the book, but my experience is that the way to make things flexible is to make them simple as possible. When I've used (or built) something that was built in the style like you're talking about, it's almost always wrong, and the extra complexity and stuff now makes it harder to do right. It's not surprising: unknown future requirements are unknown. Over building is trying to predict the future. It's li…
Re: SICP: The only computer science book worth reading twice? (2010)
#179We need someone knowing this, just like we need someone to run the nuclear plant we use. But we do not need much those but we need more how to use electricity. Hence unlike another post physics are not the key even if it is more foundational.
For personal growth, it might be still though.
But frankly lisp is such a non-multi-system language, it has a hard time to deal with external world by its nature. It can be done as lisp is really the god level programming language. But as said it is NOT used by the gods for a reason.
We need find a system level language to express ourselves so that we can stand in giants. We need giants but no need to be one.
Re: SICP: The only computer science book worth reading twice? (2010)
#180It’s interesting, SICP and other many other “classic” texts talk about designing programs, but these days I think the much more important skill is designing systems. I don’t know if distributed systems is consider part of “Computer Science” but it is a much more common problem that I see needs to be solved. I try to write systems in the simplest way possible and then use observability tools to figure out where the de…
Have you seen "Software Design for Flexibility: How to Avoid Programming Yourself into a Corner" by Chris Hanson and Gerald Jay Sussman It's from 2021.