Live data from Hacker News

Why SICP Matters

cs.berkeley.edu

101–110 of 130 posts

Re: Why SICP Matters

#101
post #86
post #79

Earlier quoted context omitted.

I don't deny that. I liked it quite a lot when I read it in my teens, and learned a lot. But revisiting the book in detail has brushed off some of the nostalgia. It is a product of its times.

Wadler's critique seems mostly rooted in Miranda vs. Lisp, rather than critiquing the general contents of the book. Is there another book that is like SICP in overall thematic content that uses Miranda? (Or I guess Haskell might be a more likely choice today?)

I found How to Design Programmes very nice, and it uses Racket (which is a dialect of Scheme). HtDP was at least partially created as a reaction to the perceived shortcomings of SICP, including Wadler's critique. You can have a look for yourself at htdp.org. It's early focus on graphics and interactivity should jive well with people yearning back to the days of the C64 or ZX or BBC Micro.

For the more advanced reader "Programming Languages: Application and Interpretation" has a similar focus like SICP on the workings of programming languages---not for an accident they both share `interpration' in the name. Read the book at http://cs.brown.edu/courses/cs173/2012/book/

I have also been impressed with Learn you a Haskell for Great Good (http://learnyouahaskell.com/), but it is not very much like SICP.

Re: Why SICP Matters

#102
post #87

Earlier quoted context omitted.

Fair enough, but try picking up any other computer science book from that era and I bet there isn't a single one that has aged as well.

TAOCP Knuth C Programming Language by Kernighan and Ritchie The Practice of Programming Kernighan and Pike

I still like K&R's C book, and have used it to teach C to a friend last year.

The Practice of Programming shows more signs of its age. It is a good read, but it could do with an update.

Re: Why SICP Matters

#103

SICP is a masterpiece. I took the old MIT 6.001 in Spring 1986 where we burned through the entire book in about 14 sleepless weeks. Sussman was the lecturer and Rod Brooks was my recitation instructor. I was like 19 years old at the time and it was the most intellectually beautiful thing I had ever experienced. I ended up acing the course and went on to get a PhD in CS. I've never read a better book on programming.

I wish that had been my experience with it. I did well in the class, but I didn't learn nearly as much as I should have. To be clear, that was entirely my fault, not the class's; I was lazy and got away with a lot of shortcuts. And even when I learned real stuff, I shrugged it off as "not actually how you build programs in the real world; can't I have for loop?" (so, sooo dumb). After years in the industry and a slow, organic rediscovery of all the great concepts I should have taken to heart as a college freshman, I cracked open SICP and said, "holy shit, this is what I was being taught?" 6.001 really was incredible, had I only been smart enough to see it. Eat your veggies, kids.

Re: Why SICP Matters

#104
post #12

I have to confess I just discovered you can order a relatively cheap copy (well, compared to Amazon) of SICP direct from MIT. I have only skimmed so far, but combined with the lectures I have to say that I really wish that had been my introduction to programming. Maybe it is just because of where I'm at, but it really feels like in the first 3 lectures some of the more elusive topics of programming are at least touch…

Years ago, I was very interested in having the physical book to read, but too cheap to buy a new copy. Every once in a while I would check half.com and book shopping comparison sites looking for a cheap used copy. One day in December 2006, there was a rift in The Matrix and Barnes and Noble was selling the hard copy 2nd edition for ... $7.00 (new). I ordered two copies and as soon as they were physically in my hands,…

Like camelcamelcamel.com? I set up price alerts for big wishlist items; it's a great service.

Re: Why SICP Matters

#105
post #26

Excellent article. I'm immensely glad and lucky to have had Brian Harvey as a professor, and this echoes exactly what he taught us and the general teaching at Berkeley: that the concepts of programming and computer science were of paramount importance, and that you should understand them in the abstract. To this day, this is why I value a good theoretical CS education, why I value university education, and why I cont…

Sounds like Berkeley are making a huge mistake and losing sight of what a University is there for. They seem to have moved to a more practical approach than theoretical approach. This is the type of approach that is more appropriate to a Technical College than a major University. This new approach almost seems like teaching civil engineers how to weld and rivet in order to build bridges, rather than deeply understand…

Nope, scheme is still being taught in the "Python class". The final project is writing a Scheme interpreter in Python, so students still get to learn Scheme.

http://www-inst.eecs.berkeley.edu/~cs61a/sp13/projects/schem...

Re: Why SICP Matters

#106
post #77
post #35

Earlier quoted context omitted.

Which one is obscure ? define factorial (lambda (n) (if (= n 0) 1 (* n (factorial (- n 1)))))) let rec fact = function | 0 -> 1 | n -> n * fact (n - 1);; There is a little more syntax to learn in caml, but the suppression of 90% of the parenthesis makes the code far easier to read.

E.g. Haskell has enough syntactic sugar for some an even simpler version factorial n = product [1..n]

Something similar is achievable in scheme, just takes a little work http://repl.it/InA (click run session) :)

Re: Why SICP Matters

#107

Earlier quoted context omitted.

Years ago, I was very interested in having the physical book to read, but too cheap to buy a new copy. Every once in a while I would check half.com and book shopping comparison sites looking for a cheap used copy. One day in December 2006, there was a rift in The Matrix and Barnes and Noble was selling the hard copy 2nd edition for ... $7.00 (new). I ordered two copies and as soon as they were physically in my hands,…

Like camelcamelcamel.com? I set up price alerts for big wishlist items; it's a great service.

I hadn't heard of that site, thanks! Back in 2006 or so, I was a heavy user of Addall.com for comparing prices across various book sellers. I would point people there and mention that it must be "Amazon's worst nightmare." Fast forward a few years and Amazon used books ate their lunch. Addall.com gave up so completely, their site often returns two hits for the same item, the short and long ISBN. There can't be much profit for Amazon to sell used books, but I suppose it is important to keep even the used book buyers "down on the farm."

Re: Why SICP Matters

#108

"In my experience, relatively few students appreciate how much they're learning in my course while they're in it." That quote describes me to a T. The University of Minnesota taught a sophomore class on OO using SICP. At the time, C++ was hot (this was about 1991 or 1992) and I distinctly remember someone raising their hand and asking "Why are we learning this language that we will never use again? Why isn't an OO cl…

I'm intrigued that anyone would teach OOP using a language other than Smalltalk. As well as giving you the bits you need to build objects, it puts them together in a dispatch system and class library, fully thought out and tastefully designed, then gives you the tools to take it apart, study how it works, think about why parts of it are clumsy, and consider the consequences of fixing them. Perhaps graphical workstations were too expensive for universities in 1992?

Re: Why SICP Matters

#109

"In my experience, relatively few students appreciate how much they're learning in my course while they're in it." That quote describes me to a T. The University of Minnesota taught a sophomore class on OO using SICP. At the time, C++ was hot (this was about 1991 or 1992) and I distinctly remember someone raising their hand and asking "Why are we learning this language that we will never use again? Why isn't an OO cl…

I'm intrigued that anyone would teach OOP using a language other than Smalltalk. As well as giving you the bits you need to build objects, it puts them together in a dispatch system and class library, fully thought out and tastefully designed, then gives you the tools to take it apart, study how it works, think about why parts of it are clumsy, and consider the consequences of fixing them. Perhaps graphical workstati…

I don't recall there being an open source graphical Smalltalk in 1992.

Re: Why SICP Matters

#110

Earlier quoted context omitted.

It's also not just CS, though CS is the largest culprit because well... software is eating the world. No one cares about getting an education. They just want a job.

But there are still areas, lets say for example civil engineering, where you need to know about building materials, some physics and math to do your job. In CS, on the other hand, if you know how to put together a few web pages in Python and solve half a dozen brain teasers you may get a job in a very good company.

You're missing my point, which was about priority order.

Most people are going to college hoping to get a job. They're learning because they're told they have to learn, so they do a bad job learning. In a field like civil engineering, you can't graduate unless you pass classes that are simply unpassable without learning some stuff. (I have a friend going through aerodynamics right now and I'm hearing about everything he's learning.)

This is kind of a microcosmic version of what we're seeing in general: we see people as workers first and human beings second. The universities and the kids are following suit.

Post reply on HN