5 ms·
But Scheme isn't a lazy language - granted, you'll need a language that supports first class functions to lift their implementation of a stream though. >Also,
by yomly 9y ago
But Scheme isn't a lazy language - granted, you'll need a language that supports first class functions to lift their implementation of a stream though.
>Also, as a beginner, you don't want both the difficulties of contepts _and_ the difficulties of language to combine to stop you from learning as effectively.
Are you referring to the need to learn Scheme to work through SICP? While the asker specifically requested language-agnostic books, Scheme was chosen as a language for SICP for being a "syntax-free" language...
- chii 9y ago> Are you referring to the need to learn Scheme to work through SICP? no, i'm referring to the fact that this book isn't language agnostic (i.e., you wouldn't want to use anything other than scheme/lisp).
- pvg 9y agoScheme was chosen as a language for SICP for being a "syntax-free" language... First-class functions, lambdas, closures, lexical scoping, etc. Abelson wrote, for instance: "6.001 differs from typical introductory computer science subjects in using Scheme (a block-structured dialect of Lisp) rather than Pascal as its programming vehicle. The subject's developers feel strongly that Pascal is hopelessly constraining, and that important ideas (such as functional programming and object-oriented programming) can be addressed within Pascal only awkwardly, if at all."
- gumby 9y ago> Are you referring to the need to learn Scheme to work through SICP? That's not particularly demanding requirement. The class began with a single lecture about how Scheme worked and after that Hal and Gerry assumed you knew all the language you needed to and dove in. When the course was introduced (early 80s), most incoming MIT freshman had not programmed a computer (!), including those who planned to do course 6 (EE or CS -- 6.001 was a requirement for either degree).