Live data from Hacker News

SICP is Under Attack

vedantk.tumblr.com

121–130 of 207 posts

Re: SICP is Under Attack

#121
post #51

The author makes the assumption that the only books people will ever read are those books that were assigned as part of a formal course. That may be true of some people, but it's certainly not true of the average programmer!

You have a very high opinion of the average programmer. I'd say unrealistically high.

Even the average programmer must keep up with the changes in whatever systems and languages they use, long after completing formal education. Therefore they must read beyond what their formal education prescribed.

Re: SICP is Under Attack

#122
post #98
post #43

Earlier quoted context omitted.

It's not "what the school wants to teach" but more "what the student needs to know at the end of the semester". I love SICP -- for me it was a revelation which opened a new world, and is still my favorite book -- but not everyone is like that. 90% of my colleague in my university would hate that book.. (As they hated the dragon book and anything less practical). So, as they say, "Hate the game, not the gamers". What…

If you make a degree a prerequisite to getting a specific job, or even a specific job at a specific (higher) pay scale, you always end up with people treating traditional four-year programs like trade schools. Especially if you also make people think of trade schools as where you go if you only barely passed high school, or if you failed high school and wound up with a GED. (And we could recurse and talk about how on…

I wholeheartedly agree. The schooling system was set up more than 60 years ago. Any social system instituted by man is time limited. With time, people (because we're intelligent) try to maximize the benefits while minimizing the effort, and this compromises the system.

Sixty years ago, finishing high-school was a major accomplishment, opening lots of opportunities. One went to college because he/she wanted to learn stuff which will be useful on his/her voyage to the frontiers of human knowledge. Intellectual curiosity is the main motivating factor for this kind of people.

College education today assumes the same role that high-school education had 60 years ago, and it's NOT because there's more stuff that has to be learned. (I think 12 years of education is more than enough to keep the world spinning. We're just doing it wrong, but that's another story. Paul Lockheart's Mathematician's Lament is a great read on this subject, feel lucky on Google). The question is, what will provide today what colleges provided 60 years ago?

I don't mean to sound catastrophic. Top-class research is being done today as well. It's just that we're making things unnecessarily hard for everybody.

Re: SICP is Under Attack

#123
post #100
post #27

Earlier quoted context omitted.

CPython doesn't have built-in tail call optimization, but that's not a fundamental property of the language, just a limit of that particular implementation. One that can even be hacked around in Python with a decorator. A decorator, by the way, is a Python feature that depends on closures, which are themselves quite commonly used in Python. You have some very strange ideas about Python that appear to have little rela…

Python has things they call closures but they aren't what Scheme (or Lisp, or Perl, or Ruby, or Smalltalk, or JavaScript, or C#...) would call a closure. I think it's fair to say that Python is the odd language out here. The scoping rules are different unless you use the relatively recent "nonlocal" keyword. http://stackoverflow.com/questions/141642/what-limitations-h... And Guido has said that he intentionally cripp…

Unusual scoping rules that are easily worked around do not make Python's closures not closures. And I'm not sure why you're bringing up lambda -- I don't know anyone who uses it much, and I consider it an obfuscation mechanism rather than a useful tool.

As for your personal attacks on me... I dispute statements you made that I consider to be utterly wrong, and you say I'm "getting offended" and "trolling"? Now I'm offended.

I look up and down the comments on here and I see all sorts of people making blanket statements about how great Scheme is, yet when I argue a couple specific points you brought up about Python, I'm being the partisan troll? WTF?

Re: SICP is Under Attack

#124
post #112

I'd been programming over 20 years when I read SICP. The book was interesting. It was interesting as an introduction to functional programming. But, in my opinion, a lot of the stuff in it that is held up to be clever or informative is just difficult because the reader is expected to figure out how to to imperative programming in a functional language. A computer is an imperative device. It is a deterministic state m…

A computer is an imperative device. It is a deterministic state machine. Teaching introductory programming with a functional language is teaching students wrong, i.e. it does them a disservice.

One could as easily argue that a computer is a tool, and if it helps us making better (according to some criteria) programs, why not abstract away the underlying architecture?

Re: SICP is Under Attack

#125
post #43

This is one of a very very small number of programming-related articles I've ever been glad to read. Programming should be taught as an approach to problem-solving and structured logical thinking, not as an approach to a particular language. If you can understand the core concepts of programming, the individual languages begin to matter a lot less. Python is great. Java is great. C++ is great. But they are just tools…

It's not "what the school wants to teach" but more "what the student needs to know at the end of the semester". I love SICP -- for me it was a revelation which opened a new world, and is still my favorite book -- but not everyone is like that. 90% of my colleague in my university would hate that book.. (As they hated the dragon book and anything less practical). So, as they say, "Hate the game, not the gamers". What…

> I do hope however that great professors will still strongly suggest [SICP] to students who want to go one step deeper.

Surely anyone studying comp sci at MIT should want to go one step deeper? If not, WTF are they doing there?

Re: SICP is Under Attack

#126
post #102

Earlier quoted context omitted.

I looked at it and thought, "easy, I'll just rewrite the Scheme function in Mercury and tell the compiler to memoize the function." Of course, obviously the point of the exercise is to encourage thinking about how a computer actually performs computations, which is in a linear, imperative fashion. In that case, why use Scheme in the first place? Its syntax and semantics encourage exactly the opposite style of program…

The point of Scheme isn't to provide you with a given feature like memoization, its to provide you with the tools so you can do it yourself. SICP covers memoization at the end chapter 3.3.3 ( http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-22.html... ): (define (memoize f) (let ((table (make-table))) (lambda (x) (let ((previously-computed-result (lookup x table))) (or previously-computed-result (let ((result (f…

And SICP quits at this point? What if "previously-computed-result" is false, because f computes boolean values? This is just an 80% solution, which works for "fib".

Re: SICP is Under Attack

#127
post #43

Earlier quoted context omitted.

It's not "what the school wants to teach" but more "what the student needs to know at the end of the semester". I love SICP -- for me it was a revelation which opened a new world, and is still my favorite book -- but not everyone is like that. 90% of my colleague in my university would hate that book.. (As they hated the dragon book and anything less practical). So, as they say, "Hate the game, not the gamers". What…

So basically you and 90% of your colleagues hate computer science. You want a vocational education in software development, which is something different.

Who offers a vocational education at an university level? Not everybody who is smart wants to be an academic.

Re: SICP is Under Attack

#129
post #78

Whoa, stop. There's a lot of issues in this article. First of all, Berkeley is NOT getting rid of SICP and SICP ideas. This is flat out untrue. I'm a recent instructor for the course, and I've spoken to several TA's about this course. Below is a rough summary of what we've discussed. This should not be construed as the "official line", but take from it what you will. First, Berkeley are not getting rid of SICP. ‎For…

In my mind, SICP is better as a capstone, senior course. Think about all of us who defend it. Do we think that we could reach a better audience with that message if the audience were seniors looking for a summary/enlightenment, rather than freshmen exploring CS and engineering applications? Indeed. I read SICP while in grad school w/ the online lectures. Frankly, I'm not sure I would have appreciated SICP nearly as m…

This link works: http://ocw.mit.edu/courses/electrical-engineering-and-comput...

Re: SICP is Under Attack

#130

I basically agree with the OP that Dive into python is a pale replacement, but at the same time there is something to SICP's critics. Peter Norvig seemed to think most people would get the most out of it after getting some experience, and the HtDP authors definitely have a point about how much heavy math is involved. It's still a wonderful book, and won't be lost, I'm sure. http://www.amazon.com/review/R403HR4VL71K8…

> http://www.amazon.com/review/R403HR4VL71K8

tl;dr: This promotes a view that those who reviewed SICP negatively did so because they were akin to people who wanted to learn how to drive rather than how their car works.

I read the 1st and last page (of 6, tl;dr etc.) reviews and I can't agree with this viewpoint. The negative reviews seem to be based on the structure (viz. haphazard) and tone (viz. boring) of the content rather than the level. That's not to say that I agree with these reviews; I'm just pointing out that the linked page seems inaccurate.

Post reply on HN