原文:http://www.posteriorscience.net/?p=206html
如下是不太嚴格的譯文。spring
在紐約舉行的一次 Lisp 集會上,Gerry Sussman 被問到 MIT 爲什麼停掉著名的 6.001 課程。這門課所用的教材是 Sussman 與 Abelson 所寫的《Structure and Interpretation of Computer Programs》(中譯《計算機程序的構造與解釋》)。Sussman 的回答以下:編程
他與 Hal Abelson 年事已經高,力不從心(他們從上個世紀 80 年代就開始教這門課),所以在 1997 年,他倆走進系主任辦公室,扔下一句話『咱們不幹了,大家看着辦吧』。ide
更重要的是,他們以爲 SICP 課程不適合培養現代的軟件工程師了。Sussman 說,上個世紀8、九十年代的軟件工程師們經過組合簡單而且易於理解的部件的方式來構造複雜系統。SICP 的目標就是爲推理論證這些複雜系統而提供一種抽象語言。post
時至今日,狀況變了。Sussman 指出,現代的軟件工程師們的主要工做是爲那些他們並不徹底理解的複雜的硬件(因爲商業機密的緣故,也不可能理解)而寫代碼。軟件層面也存在一樣的狀況,編程環境是由無所不能的巨大的程序庫構成。Sussman 說,他的學生們要玩轉這些庫,須要花費不少時間去閱讀這些庫的手冊。他說,編程這件事在今天『很像科學研究』,你盯着庫的某個一個局部去刺探它——寫一個程序用於刺探,觀察這個程序的行爲,確認這個庫可否知足本身需求。SICP 中的『合成分析』(Analysis-by-synthesis)的觀點——基於小的簡單的部件構建大的系統——如今變得可有可無了。時下,你們是在刺探式編程。.net
至於爲什麼選擇 Python 來替代 Scheme,Sussman 開了個玩笑,說這是『後期綁定』策略。Python 有大量的庫可用,這些庫可以知足這門課的教師們所承擔的項目的需求(例如編寫用於控制機器人的軟件)。視頻
Sussman 認爲曾經的 SICP 課程要比他們如今所開的課『更爲清晰連貫』,並且他們依然沒有弄明白什麼纔是正確的課程。htm
SICP 的在線版本見 https://mitpress.mit.edu/sicp/full-text/book/book.html。Sussman 與 Abelson 從 1986 年開始的在 HP 公司的授課視頻見 http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/。ci