SICP is not really a book for programming beginners, there are plenty of other books for that, like "How to Design Programs". I detest the idea of using "more appropriate" examples, to me illustrating deep concepts from interesting fields like electronics and mathematics via computer programs was the gist of the book. Also, all the ideas used in the programs are very high-level, explained in the text, and you don't have to have any in-depth knowledge from any field outside of CS, you just have to have some basic maturity with respect to dealing with abstract concepts. I know because I for example solved all the exercises related to mathematics (differentiation, power series etc.) in SICP before I actually learnt any calculus, which I later did largely being inspired by SICP. Anyone aspiring to become a good programmer has to be able to learn basics of a new domain quickly, just knowing how to program is useless in itself. Besides, the more interesting the domain, the more interesting the programs, I think SICP gets this as right as possible.
SICP in general is a damn good book, there were already quite a few attempts to "improve" it, but I am not convinced any of those have really superseded it. There is for example "Concepts, Techniques and Models of Computer Programming", which is basically what you wish, SICP without digging into any particular domain:
There are certainly lots of valuable programming concepts explained in this book, and I would certainly recommend it to anyone with a deep interest in programming languages, but by using "dummy" examples, I think it simply became much more boring and less intellectually stimulating.
SICP in general is a damn good book, there were already quite a few attempts to "improve" it, but I am not convinced any of those have really superseded it. There is for example "Concepts, Techniques and Models of Computer Programming", which is basically what you wish, SICP without digging into any particular domain:
http://www.amazon.com/Concepts-Techniques-Models-Computer-Pr...
There are certainly lots of valuable programming concepts explained in this book, and I would certainly recommend it to anyone with a deep interest in programming languages, but by using "dummy" examples, I think it simply became much more boring and less intellectually stimulating.