Brian Harvey: Why SICP matters
41–50 of 52 posts
Re: Brian Harvey: Why SICP matters
#42Gist.io: http://gist.io/4076068 Edit: Uh, why downvote? Not complaining, just curious; I have done this before for plaintext articles and will do it again, but only if it's welcome.
Re: Brian Harvey: Why SICP matters
#43> What MIT decided was to move from a curriculum organized around topics (programming paradigms, then circuits, then signal processing, then architecture) to a curriculum organized around applications (let's build and program a robot; let's build and program a cell phone). While this is offered as an excuse for switching away from SICP, I don't like this either. Programming paradigms are the perfect introduction to p…
He goes on to write, " Perhaps in time the applications-first approach will spark a revolution as profound as the one that followed SICP, but it hasn't happened yet. " Put the way he's written described it, "a curriculum organized around applications", I don't think it will. You have it right: too many trees, not enough forest. Does anyone who has taken the new MIT curriculum have any comments?
It was a mighty fine course and text-book. But where's the revolution?
Where are the guys that were taught SICP that went on to do "revolutionary" things?
And if they do exist, how do they compare to a control group that just learned with UNIX/C/C++ and the like?
(Downvotes? I thought we're taking compute SCIENCE here. Where's the science and the proof? If one didn't know any better he would have thought I was stoned for insulting some holy scripture...)
Re: Brian Harvey: Why SICP matters
#44I am one of Brian Harvey's student progeny. I still consider the SICP as my favorite computer science book, and in retrospect CS61A one of my favorite and most important courses. There is something amazing about a course that takes one from "square can be defined as (define (square x) (* x x))" to writing an interpreter, and be something a mere mortal can work through in a few months. And that's just chapter one to f…
I love the story where the creators defined a Lisp interpreter in Lisp, and then one said, "you know, we don't have a Lisp compiler, but I could compile this source by hand." It's quite an elegant concept when you accidentally create a fully-functional interpreter overnight.
> Steve Russell said, look, why don't I program this eval..., and I said to him, ho, ho, you're confusing theory with practice, this eval is intended for reading, not for computing. But he went ahead and did it. That is, he compiled the eval in my paper into IBM 704 machine code, fixing bug, and then advertised this as a Lisp interpreter, which it certainly was. So at that point Lisp had essentially the form that it has today...
a shorter version from "History of Lisp" page 9:
> S.R. Russell noticed that eval could serve as an interpreter for LISP, promptly hand coded it, and we now had a programming language with an interpreter.
Re: Brian Harvey: Why SICP matters
#45Earlier quoted context omitted.
On a tangent, it's not only list-set-dict comps what makes Python interesting. The very simple and powerful approach to metaprogramming is very interesting as well (all the magic __whatever__ methods, for example)
Scheme is also known for its simple and powerful meta-programming system: macros. Macros might be hard to fully understand at first, but the core idea is really simple. They're also extremely powerful: they let you change the actual syntax of a program and give you extremely fine-grained control over virtually everything.
> it is ugly Python, boring Python, without any hint of elegance it could be. No list-set-dict comprehensions, which is what makes Python interesting
I disagree that list-set-dict comps is most of what makes Python interesting. Its meta programming is more interesting IMO.
Not implying at all that Scheme has no meta programming or lacking meta programming. Instead I'd argue it's more powerful than Python's.
Re: Brian Harvey: Why SICP matters
#46Earlier quoted context omitted.
He goes on to write, " Perhaps in time the applications-first approach will spark a revolution as profound as the one that followed SICP, but it hasn't happened yet. " Put the way he's written described it, "a curriculum organized around applications", I don't think it will. You have it right: too many trees, not enough forest. Does anyone who has taken the new MIT curriculum have any comments?
Sorry, but what "profound revolution" followed SICP? It was a mighty fine course and text-book. But where's the revolution? Where are the guys that were taught SICP that went on to do "revolutionary" things? And if they do exist, how do they compare to a control group that just learned with UNIX/C/C++ and the like? (Downvotes? I thought we're taking compute SCIENCE here. Where's the science and the proof? If one didn…
From SICP:
'Underlying our approach to this subject is our conviction that "computer science" is not a science and that its significance has little to do with computers.'
(Don't know about the downvotes or anything. Just thought that was like vaguely funny.)
Re: Brian Harvey: Why SICP matters
#47I just finished watching MIT 6.00SC for the hell of it. It was really sad experience. Of course, prof. Guttag is really a big-shot and seems like no one could say anything, but I cannot even properly describe how much worse it was than CS61A by Brian Harvey. It is not just Python, it is ugly Python, boring Python, without any hint of elegance it could be. No list-set-dict comprehensions, which is what makes Python in…
Re: Brian Harvey: Why SICP matters
#48I just finished watching MIT 6.00SC for the hell of it. It was really sad experience. Of course, prof. Guttag is really a big-shot and seems like no one could say anything, but I cannot even properly describe how much worse it was than CS61A by Brian Harvey. It is not just Python, it is ugly Python, boring Python, without any hint of elegance it could be. No list-set-dict comprehensions, which is what makes Python in…
Re: Brian Harvey: Why SICP matters
#49Is this still true? "The language in which you'll spend most of your working life hasn't been invented yet, so we can't teach it to you. Instead we have to give you the skills you need to learn new languages as they appear."
Re: Brian Harvey: Why SICP matters
#50Is this still true? "The language in which you'll spend most of your working life hasn't been invented yet, so we can't teach it to you. Instead we have to give you the skills you need to learn new languages as they appear."