3 ms·
The tone of the book is that of learning programming and computer science for enjoyment, learning, and fun. That's what makes it timeless. A "stronger" example
by sotojuan 10y ago
The tone of the book is that of learning programming and computer science for enjoyment, learning, and fun. That's what makes it timeless.
A "stronger" example of this tone would be The Little Schemer series.
- catnaroek 10y agoSadly, SICP is lacking in mathematical rigor. Often, the book rushes to give broken code snippets based on insufficiently deep analysis of the problem at hand (e.g., interval arithmetic in chapter 2), and the exercises consist in fixing the code after taking additional information into consideration. It would be preferable to first carefully write a formal specification, and then write the right program without so much trial and error.
- sotojuan 10y agoTo be fair, it was written to be a student's first introduction to computer science. I think it's fine if you don't have to prove everything. Ironically, Chapter 1's reliance on math for examples and exercises turns people off!
- catnaroek 10y agoThis is getting it backwards. The first introduction to CS is precisely when proofs matter most. I agree that, ultimately, not everything has to be proven correct. Often there isn't even a well defined criterion for software correctness. But proofs absolutely matter in certain domains (algorithms, databases, compilers, etc.), and there's no way you can be ready to prove things about moderately tricky programs if you don't have practice proving things about toy ones.