The entire instruction of Scheme in 6.001 was less than an hour. You only need a tiny bit and then you can focus on the concepts in the book rather than quirks of some programming language's syntax. I think that is a huge win. On what basis do you find it "intellectually dishonest"?
Based on: Forbus, K. D. (1985). Structure and interpretation of computer programs. Artificial Intelligence, 27(1), 124–127. doi:10.1016/0004-3702(85)90087:
"several important topics that students should be exposed to early are treated lightly, if at all. Its coverage of fundamental algorithms is spotty - sorting, for instance, is
not discussed at all.
Another problem inherent in this pedagogical approach is that it does not teach students many of the engineering skills necessary for developing efficient programs on 'real' computers. This can lead to a 'clean fingernails' syndrome.
where the student feels no program should be written or used unless it is utterly clean."
This is just one. I can't find the paper but Philip Wadler was the original person saying the exact phrase 'intellectually dishonest'.
> This is just one. I can't find the paper but Philip Wadler was the original person saying the exact phrase 'intellectually dishonest'.
https://www.cs.kent.ac.uk/people/staff/dat/miranda/wadler87.... - that's the only Wadler critique of SICP I'm familiar with. Is "intellectually dishonest" in there? I can't find it. In fact, he seems rather positive about the book and it's material, just not Scheme. His critique is focused on the differences between Scheme and Miranda and their applicability to teaching students.
I would think it obvious, but maybe not, that attributing your own critique to a more well-known and respected individual without citation is intellectually dishonest.
I call it a disagreement, there are many of these kinds of disagreements especially in pedagogy. Sometimes people use strong and charged language in disagreements. It is not "intellectually dishonest" (quoting you, not Wadler since you still can't back that attribution) to write a book using Scheme just because others think Miranda (at the time, or another language today) would have been a better language. It would only have been intellectually dishonest if they knowingly chose Scheme to create an inferior experience (to what purpose?).
And I still contend that you are an intellectually dishonest person until you can properly attribute that quote to Wadler, or concede that you were wrong and made a false claim.
The criticism in my previous comment backed by a valid and searchable source: "SICP does not adequately teach the fundamentals of programming." is huuge for a book claiming to the best in the field. It's not a matter of 'pedagogical disagreement'. What do you say in this regard?
Yes, unfortunately I can't find the paper and I even enlisted GPT4 to help me search, so it is possible that some other reviewer may have said that (and I may have read another review by Wadler before or after this review); So while Wadler may not have said that, he has plenty of beef with SICP in the paper in your comment which essentially boils down to implying intellectual dishonesty. If not, then you need to improve your reading comprehension.
I understand that you may have invested a lot of time and effort in SICP and Wadler's assessment of it (based on the paper you provided!) hurt your fragile ego, hence the rude attack on my intellectual integrity, but regardless of whether Wadler said the particular phrase "intellectually dishonest" or not, the implication of his complaints I listed in my previous comment (based on the paper you provided!) amounts to almost to expanded version of saying the same thing.
Also, a note on downvotes: the agreement of majority (shown via upvotes) is no guaranteed standard for quality or veracity of a comment/opinion and I couldn't care less about the "karma points"; my comments are fueled by intellectual integrity and curiosity, and that inevitably means some people might disagree with me. Just because you disagree does not mean I am wrong and you are right.
I think you should judge SICP on what the authors' own intentions were, not on things they weren't trying to do. I didn't get the feeling that cleanness was emphasized or encouraged (any more than in any class). There are other classes that cover fundamental algorithms like sorting, SICP isn't about that.
You might find the authors own critique of SICP interesting:
BTW, here is a list of people who had criticized SICP. The list is full of heavy-weights:
Philip Wadler
Donald Knuth
Eric Raymond
Richard Bird
Paul Graham
Guy Steele
Robert Harper
Matthias Felleisen
Daniel Friedman
Christopher Strachey
Peter Landin
John Backus
Based on: WOOD, A. (2001). Structure and Interpretation of Computer Programs, 2nd Ed by Abelson and Sussman, with Sussman, MIT Press, 1996, ISBN 0-262-51087-1, 657pp. Journal of Functional Programming, 11(2), 253–262. doi:10.1017/s0956796801223983:
"The new material on concurrency is rather a disappointment since such a large and fundamental topic is relegated to little more than a convenient link item between lists and
streams.
...
The major omission, and it is major, is that types are never fully, or even adequately
discussed."