4 ms·
> Most people can't program. Most people can't do mathematics. Most people are not good at this stuff. No doubt about that. SICP is the wrong book. SICP is f
by lispm 2y ago
> Most people can't program. Most people can't do mathematics. Most people are not good at this stuff.
No doubt about that.
SICP is the wrong book.
SICP is for people who are good at maths. Most of the examples are maths related. That's a well known complaint about the book. Often such maths-heavy introductory courses filter out the students who are not good at maths. On purpose.
SICP is not for beginners learning Lisp programming. SICP was an university introductory course book for computer science. It was developed out of maths-heavy CS lectures. Various other books tried to improve it both to make some of the topics easier to learn or to make it more advanced in programming language technology.
Easier SICP from Brian Harvey
https://www.youtube.com/watch?v=cuTOo_Kj4U0&list=PL91cR71aKpekVP06eFbMMAnjMBPotEf7E https://www.youtube.com/watch?v=cuTOo_Kj4U0&list=PL91cR71aKp...
or him adopting this stuff to Logo: Computer Science Logo Style. https://people.eecs.berkeley.edu/~bh/ https://people.eecs.berkeley.edu/~bh/
Or his book "Simply Scheme": https://people.eecs.berkeley.edu/~bh/ss-toc2.html https://people.eecs.berkeley.edu/~bh/ss-toc2.html
But what you are looking for is a book for a software developer wanting to learn practical Lisp programming with different examples.
- kazinator 2y agoAlthough the SICP is an awful book, the thing in section 1.1.1 that OP refers to where it presents formatting an expression: (+ (* 3 (+ (* 2 4) (+ 3 5))) (+ (- 10 7) 6)) is a decent point. I mean, how could they present this differently? Pretty much any Lisp book should explain this stuff the same way. Look, we have these parentheses and that's what the machine cares about, but we split across and indent like this. If someone finds that reformatting to be incomprehensible and unreadable, virtually no different from the original one liner, they may have some cognitive issue (a form of dyslexia or something like it). Likely they will struggle with programming in any language. I don't suspect it's "cognitively typical" not to find the visual structure of the above formatting to be obviously helpful.
- lproven 2y agoI disagree. I was fine with Pascal, Fortran, minimally competent in C, and happy in half a dozen dialects of BASIC, which remains my preferred language.
- kazinator 2y agoI don't know, man. If a big truck is hurtling towards me, I'd prefer that the person behind the wheel not have the cognitive impairment that prevents them from being able to grok the visual structure of: (+ (* 3 (+ (* 2 4) (+ 3 5))) (+ (- 10 7) 6)) It's just very basic recognition of shapes suggested by incomplete contours.
- lispm 2y agoPascal, Fortran, C, ... All these languages use prefix notation for function calls. Fortran: min(size(b), size(a)) Lisp: (min (size b) (size a))