Earlier quoted context omitted.
I feel miserable doing the kind of programming I do nowadays! I wish I could go back to simpler times, where I actually had to reason about algorithms, data structures, hardware, etc... I don't subscribe to the school of thought that values engineers lower on the stack more than those higher up, especially since there seem to be a lot more new jobs of the latter sort and we all need to make a living, and there are pl…
I think he doesn't necessarily imply anything about being high or low in the chain. But about beauty and understanding. SICP is one example, but I bet it's even possible to be happy coding GUIs or any other rather mundane things if one does it with an elegant toolset. For example, Oz comes to mind. Some modern tools are not pleasing to use, often because architectures are a mess. Things move forward too quickly.
Programming by poking: why MIT stopped teaching SICP
101–110 of 245 posts
Re: Programming by poking: why MIT stopped teaching SICP
#102Reading this made me so so sad, I do agree with the reasoning. I learned to program on a course that follows SICP, I spent all my college years learning how to program from first principles, building all the pieces from scratch. Building compilers, soft threads implementations, graph parsing algorithms... and I was happy with that way of programming! Today I'm an iOS developer, I spend most of my day 'poking' at the…
Re: Programming by poking: why MIT stopped teaching SICP
#103Earlier quoted context omitted.
For working as a professional programmer, SICP, sure. But TAOCP? Why?
I wrote that for anyone interested in learning CS seriously, I swear by those two books. I would recommend an entirely different set of books for someone who wants to work as a professional programmer. That being said, TAOCP really gave me a clear understanding of algorithmic analysis. It's a hard book, but after you finish it, you won't look at programming the same way again. Especially when it comes to design decis…
Re: Programming by poking: why MIT stopped teaching SICP
#104Earlier quoted context omitted.
I think he doesn't necessarily imply anything about being high or low in the chain. But about beauty and understanding. SICP is one example, but I bet it's even possible to be happy coding GUIs or any other rather mundane things if one does it with an elegant toolset. For example, Oz comes to mind. Some modern tools are not pleasing to use, often because architectures are a mess. Things move forward too quickly.
What's Oz?
Re: Programming by poking: why MIT stopped teaching SICP
#105Re: Programming by poking: why MIT stopped teaching SICP
#106Earlier quoted context omitted.
Which class/university was it? Any chance the materials are online? I'm actually writing my own shell now; I'd be interested to compare :) The fork/exec/pipe/dup calls are definitely an unusual and powerful paradigm. I think too many programmers don't know this because we were brainwashed to make "portable" programs, and that's the least portable part of Unix.
CS61 at Harvard covers that stuff, building your own shell (and memory management, etc) in C and it's an introductory class. There is a lot of hand holding of course but I really loved that class.
Re: Programming by poking: why MIT stopped teaching SICP
#107Earlier quoted context omitted.
I wrote that for anyone interested in learning CS seriously, I swear by those two books. I would recommend an entirely different set of books for someone who wants to work as a professional programmer. That being said, TAOCP really gave me a clear understanding of algorithmic analysis. It's a hard book, but after you finish it, you won't look at programming the same way again. Especially when it comes to design decis…
One reason I went with different algoritm books is that they were for languages I use. Did the use of a fake ISA hamper your understanding at any point?
Re: Programming by poking: why MIT stopped teaching SICP
#108Earlier quoted context omitted.
Calling it his "reasoning" with all the connotations that come with that word goes way too far. This was his polite implicit criticism of the new core, which among other things also teaches much less in the way of EE fundamentals, a topic he's cared about very much since at least the late '70s (i.e. 6.002 is no longer a required course for all EECS majors). The bottom line is that in the post-dot.com crash panic whic…
It may have been that it just took 7 years to actually get a new course in place, but it wasn't until fall 2007 that MIT officially got rid of 6.001 as required course, well after the dot com crash. There were a TON of changes that happened with the MIT EECS curriculum at that time, so perhaps it was a holistic response to the dot com crash that was beyond just 6.001.
Yeah, MIT has become a Javaschool, plus Python....
And just when the failure of Dennard scaling was making functional programming a lot more important.
Re: Programming by poking: why MIT stopped teaching SICP
#109Earlier quoted context omitted.
CS61 at Harvard covers that stuff, building your own shell (and memory management, etc) in C and it's an introductory class. There is a lot of hand holding of course but I really loved that class.
Harvard? Never heard of it. Good school?
Re: Programming by poking: why MIT stopped teaching SICP
#110I read about half of SICP and thought it was OK. Not great, but okay. The programmers I've met fall largely into two groups, those who like systems level programming, knowing how the OS works, how it interfaces with the hardware, what the memory layout is like, etc. and those who like abstraction and the things that SICP values. I'm definitely in the former group (but I certainly appreciate people who prefer the SICP…