3 ms·
SICP is a really good book to learn what is abstraction in programing, but keep in mind that it intentionally uses very limited range of features of actual Sche
by shiro 17y ago
SICP is a really good book to learn what is abstraction in programing, but keep in mind that it intentionally uses very limited range of features of actual Scheme to achieve its goal---here by "actual Scheme" I mean Scheme that is used to write real programs. Some people seem to get an impression from SICP that Scheme is minimalistic and you have to write your own structure or object abstraction using cons cells and closures, and conclude it is not a practical language you can use in your jobs.
Any modern Scheme implementation, in which you can write code at work, consists of not only the standard core language (RnRS) but also a large body of SRFIs (a kind of common libraries) and implementation's extensions. Unfortunately the extension part is fragmented among implementations, but in general, any decent implementation is far from "minimalistic" and comes with rich tools. SICP tells that Scheme allows you to make your own abstraction, but that doesn't mean you have to make ones every time.