官术网_书友最值得收藏!

1996年SICP第2版的前言

軟件可能確實與其他任何東西都不同,它的本意就是被拋棄。這一觀點的重點就是總把它看作肥皂泡嗎?

——Alan J.Perlis

自1980年以來,本書的材料就一直在MIT作為計算機科學學科入門課程的基礎。在本書第1版出版前,我們已經用這些材料教了4年課,而到這個第2版出版,時間又過去了12年。我們非常高興地看到這一工作被廣泛接受,并被結合到其他一些教材中。我們已經看到自己的學生掌握了本書中的思想和程序,并把它們作為核心構筑到新的計算機系統或語言里。這些在字面上實現了一個古猶太教法典里的雙關語:我們的學生已經變成了我們的創造者。我們非常幸運能有如此有能力的學生和如此有建樹的創造者。

在準備這一新版本的過程中,我們結合進了成百的澄清性建議,這些建議來自我們自己的教學實踐,也來自MIT和其他地方同行的評論。我們重新設計了書中的大部分主要程序設計系統,包括通用型算術系統、解釋器、寄存器機器模擬器和編譯器,也重寫了所有程序實例,以保證這些代碼可以在任何符合IEEE的Scheme標準(IEEE 1990)的Scheme實現上運行。

這個版本強調了幾個新問題,其中最重要的是各種不同技術路徑在處理計算模型中的時間問題上的中心作用。有關模型包括有狀態的對象、并發程序設計、函數式程序設計、惰性求值,以及非確定性程序設計。這里還為并發和非確定性新增了幾節,我們也設法把這方面的討論集成到整本書里,貫穿始終。

本書第1版基本上是按我們在MIT一學期課程的教學大綱撰寫的。由于有了第2版中增加的這些新材料,在一個學期里覆蓋所有內容已經不可能了,所以,教師需要從中做些選擇。在我們自己的教學中,有時會跳過有關邏輯程序設計的一節(4.4節);讓學生使用寄存器機器模擬器,但并不去討論它的實現(5.2節);對編譯器則只給出一個粗略的概述(5.5節)。即使如此,這還是一個內容很多的課程。一些教師可能希望只覆蓋前面的三章或者四章,而把其他內容留給后續課程。

MIT出版社的萬維網網站為本書使用者提供支持,其中包含了取自本書的程序、示例程序作業、支持材料,以及Lisp的Scheme方言的可下載實現。

Harold Abelson和Gerald Jay Sussman

主站蜘蛛池模板: 弥渡县| 普宁市| 杭州市| 莒南县| 永新县| 繁昌县| 永嘉县| 崇阳县| 股票| 拉萨市| 临洮县| 全州县| 晋江市| 台湾省| 台安县| 崇阳县| 唐海县| 土默特右旗| 东至县| 洪泽县| 西充县| 新竹市| 铜梁县| 丘北县| 澄江县| 长宁县| 蕲春县| 禹州市| 邓州市| 黑龙江省| 昔阳县| 安徽省| 阿拉尔市| 临沭县| 论坛| 藁城市| 石楼县| 土默特右旗| 肃宁县| 芦山县| 磴口县|