- Godel, Escher, Bach - Hoffstadter
- The Soul of a New Machine - Kidder
- The Emperor's New Mind - Penrose
- The Connection Machine - Hillis
- Algorithmics - HarelSICP: The only computer science book worth reading twice? (2010)
161–170 of 189 posts
Re: SICP: The only computer science book worth reading twice? (2010)
#162Re: SICP: The only computer science book worth reading twice? (2010)
#163I really wanted to like SICP but Lisp throws me off. I love Haskell and Standard ML however! Did others have a similar experience? Might be interesting to read a book similar in spirit to SICP but using a different language as a vehicle (No, I don't want to do SICP in JavaScript).
Re: SICP: The only computer science book worth reading twice? (2010)
#164It’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…
Computer architecture and organization should teach this, no?
Re: SICP: The only computer science book worth reading twice? (2010)
#165The article has a broken link for the free copy: https://mitp-content-server.mit.edu/books/content/sectbyfn/b... https://web.mit.edu/6.001/6.037/sicp.pdf I hadn't seen a blessed PDF version until today. Circa 2001, only the HTML version was freely available, and someone converted it to TeXinfo: https://www.neilvandyke.org/sicp-texi/ If anyone wants to work through SICP today, you can run the code in MIT Scheme, or in…
For anyone wishing to try: the maintainers of MIT Scheme no longer provide a .dmg but you can download and build the x86_64 version of MIT Scheme. The current release (v12.1) works on a Mac running Sequoia with Intel CPU or on Apple silicon via Rosetta. But the native code compiler (not necessary for SICP AFAIK) is a little broken. (Anecdotally it worked on macOS prior to Monterey, so maybe an Apple-supplied dependen…
I'm a huge fan of MIT Scheme, and have used it since 1984, but I would recommend using another implementation these days, especially on Mac.
See Scheme.org.
Re: SICP: The only computer science book worth reading twice? (2010)
#166Earlier quoted context omitted.
Computers today are slower than they have ever been. And tomorrow's computers are going to be even slower. In many applications, the amount of data grows at least as quickly as computer performance. If the time complexity of an algorithm is superlinear, today's computer needs more time to run it with today's data than yesterday's computer did with yesterday's data. Algorithms that used to be practical get more and mo…
if we're talking about relative human-experienced performance, the slowest computers i ever owned were in the early-mid 00s. they sped up as multicore and ssd's entered the picture and plateaued about ten years ago ime.
The difference of course was anti-aliasing, and much greater bit depth, and running multiple programming environments/toolkits (Carbon and Java).
Re: SICP: The only computer science book worth reading twice? (2010)
#167Earlier quoted context omitted.
Hmm, I don’t think so. Functional programming is definitely based on the “declarative point of view taken by classical mathematical subjects”.
I disagree since the book is using a functional programming language to advance the idea that CS is about procedural epistemology as opposed to the declarative stance of maths. The idea that a 'procedural programming paradigm' exists in contrast with a 'functional programming paradigm' is blogspeak imho.
Re: SICP: The only computer science book worth reading twice? (2010)
#168Hot take: SICP and SD4F "considered harmful (without counterpoint)"*. Why? The modus operandi of problem solving in these books is object oriented programming masquerading as functional programming, and it is presented as a _neutral_ beginner book. It is _not neutral_. This is a very opinionated approach to programming. To be fair, I do not believe the authors intended for this style of programming to be taken as gos…
I might agree with your hot take in sense that leaving choice is important though.
Re: SICP: The only computer science book worth reading twice? (2010)
#169Earlier quoted context omitted.
I don't understand why Lisp throws you off. I only read SICP after I became proficient in Haskell and it is just fine.
I'm not comfortable writing S-expressions. It feels very weird to me. I understand this is not a major issue. I'm hoping I stick with the book the next time I pick it up!
Re: SICP: The only computer science book worth reading twice? (2010)
#170Earlier 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…
I think CS 30 years ago was closer to computer engineering today. At my uni 10 years ago the CS program didn’t touch anything related to hardware, hell the CS program didn’t even need to take multivariable calculus. In my computer engineering program we covered solid state physics, electromagnetism, digital electronics design, digital signals processing, CPU architecture, compiler design, OS design, algorithms, softw…
The only kids who learned anything else learned C++ so they could get jobs with DOD contractors