Krishnamurthi has also done some really great work teaching introductory programming. He and his coauthors wrote a book meant to occupy a similar space as SICP, available here: <a href="http://www.htdp.org" rel="nofollow">http://www.htdp.org</a>. The reasons why they felt an additional text in place of SICP was necessary can be found here: <a href="http://www.ccs.neu.edu/scheme/pubs/jfp2004-fffk.pdf" rel="nofollow">http://www.ccs.neu.edu/scheme/pubs/jfp2004-fffk.pdf</a>.<p>Krishnamurthi and his colleagues also maintain Racket (<a href="http://racket-lang.org/" rel="nofollow">http://racket-lang.org/</a>), a first-class development environment, and excellent documentation. All and all just a really great example of academics who simultaneously care deeply about teaching, publish top-tier research, and release real-world tools.
I've read the paper, but I still find the grand metaphors like "Post-Linnaean" a bit of a reach. If you want to say that we've reached a point where few languages are pure in their approach (functional, object-oriented, etc), fine. If you want to say modern languages don't pay much a penalty for garbage collection, also fine. I just don't see the evidence that the approach hinted at has relevance to any context outside of Shriram Krishnamurthi's classroom at Brown University. It seems that most of his points that have practical application will be really old news to the programmer part of the HN readership, and have no practical value for those who aren't.
In case anyone's scared away by the format, it's an accessible, three-page, quick read. And it's really interesting. The author's approach of blending language survey with language construction is a strategy I've recently employed, and I've grown more as a programmer, more rapidly, because of it.
Krishnamurthi's class was one of the best classes I've ever taken. The book didn't exist when I took it, but the the lecture notes from our class would eventually become the basis for the book, so I assume the book's excellent as well.
We used this at UT Austin, and it's a great book. It doesn't have a lot of stuff that you would find in a graduate PL course (e.g. type theory), so it doesn't prepare you to read PL papers, but building a lisp in scheme is a lot more fun than learning type theory!<p>And probably more useful, as the author asserts in his paper.
Shriram Krishnamurthi is a genius; I saw him at a conference last year and regardless of the topic of the talk given, he always had insightful comments and questions that were close to a level of having done the research himself. Honestly, I have never met anyone more competent in such a variety of topics.
you can find the full length pdf book here, with free of charge or payment option:<p><a href="http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/" rel="nofollow">http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/200...</a>
I was hoping the "novel" approach would be to use realistic fiction to get students inside the mind of a programmer, using actual languages. A novel has an advantage over an autobiography because the characters can be put in teaching situations in an ideal order. Also, if the author is honest about his own experiences, he will not let the characters self-edit their experience to present a hopelessly optimistic or pessimistic picture of programming.
The comments in this thread are so gushing that I suspected we were being scammed by vanity accounts trying to flog this guys wares (books), but they're mostly from big karma/long time readers so I was wrong.<p>Okay, so other than being a hyper-intelligent pan-galactic sex god, what has this guy done for us lately? (read as: request for more info and less gushing. Let's just take the gushing as given)
just by reading the contents, i wish i had this book 20 or so years ago. back then, i had to find these subject piece by piece in books and white papers. work of a genius. thanks.