2 karma · joined September 2, 2022
I know this is a possibly unpopular opinion but I don't think one should glorify a sophomoric book as a key Ruby book-- there are others that deserve that title, PickAxe is close, but I'd have liked a book like Whittaker's "C#, Player Guide" for Ruby.
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.
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-"SICP is a brilliant book, but it is also a dangerous one. It is dangerous because it teaches students to scheme instead of to calculate."
- "SICP is a book about Scheme, not about programming."
- "SICP's emphasis on the 'scheming' approach to programming is a mistake."
- "SICP does not adequately teach the fundamentals of programming."
Is that what you call intellectually honest?
"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."
There's more.
"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'.
It makes me wonder though why previous published mathematics about computer programming has been allegedly faulty. Since I don't know enough math to objectively see whether Knuth has succeeded in his task or not...
TAOCP could have benefited a lot if someone had written a simpler on-ramping version, with examples in a powerful but newbie-friendly industrial-grade language, such as C#.
Best wishes.
I do want to branch into F# and FP but i didnt want to miss on the C# train so i tried it and it blew my mind how well the language has been designed (i mean at C# 10, .NET 6). They even made the Java-esque boilerplate thingies become automated so the code reads and feels almost like a better version of Javascript.
I am a new programmer (with only Intermediate Python and tid bits of CS under my belt) but i think choosing C# for a language made sense because of all the things you mentioned, and it also helps that it is aesthetically very beautiful, and worlds apart from C and C++ in many respects.