| I'm glad it was recommended to me. > If you love challenging books, you are neither the norm nor the audience of this post. If you read books on programming and computer science in general you are not the norm, and perhaps shouldn't be the audience of this post either? > the prose itself is so dense and archaic I'm not sure what in particular you feel is archaic, but density is a selling point here. One of the things that makes SICP attractive is the high information density. There are already too many books that are full of fluff that appears to exist only to hit a page count. > it requires such a level of competence in math and physics Can you give some specific examples of the math and physics that you think are beyond the capabilities of a bright high school graduate (that seems like a reasonable minimum bar to expect for someone picking up a book targeted at freshmen at MIT)? |
Just look at some of the examples right at the start of the book, in the first chapter:
> This section describes two methods for checking the primality of an integer n, one with order of growth Theta(sqrt(n)), and a 'probabilistic' algorithm with order of growth Theta(log n).
> ...
> Fermat's Little Theorem: If n is a prime number and a is any positive integer less than n, then a raised to the nth power is congruent to a modulo n.
> ...
> When we first introduced the square-root procedure, in section 1.1.7, we mentioned that this was a special case of Newton's method. If x -> g(x) is a differentiable function, then a solution of the equation g(x) = 0 is a fixed point of the function x -> f(x) where [complex formula] and Dg(x) is the derivative of g evaluated at x.
As someone who has a masters degree in CS, I agree with OP. People mostly recommend SICP to beginners because they want to sound smart, not because it's a good intro to programming.