Search

1/17/2011

计算机程序的构造和解释 Structure and Interpretation of Computer Programs, SICP

计算机程序的构造和解释

本書被广泛地认为是计算机科学的经典教材,在计算机科学的教学领域产生了深刻的影响。諸多的經典教材都是由本書間接催化,諸如:

* Structure and Interpretation of Classical Mechanics (SICM), 由 SICP 啟發,Gerald Jay Sussman 參與的古典力學教材。(激發的創作中,唯一非電腦科學領域的。)
* How to Design Programs (HtDP),由 SICP 出發的改良品。有簡體中文版《程序設計方法》。DrScheme 是作者群搭配本書推出的 Scheme 教學用實作品。
* t (EoPL) ,以特定語言 Scheme 推演全書,這種寫法在程式語言結構的主題十分罕見。
* Lisp in Small Pieces (LiSP),專談 Scheme 的編譯器與直譯器原理與製作。[12]
* Simply Scheme,為了讓 SICP 更容易上手的先備書籍。SICP 的部份作者也參與了本書先期的製作過程。[13]
* Concrete Abstractions,比 SICP 擁有更多例子並且不那麼要求讀者的數學能力。[14]

值得一提的是,幾乎所有的衍生作都直接或間接地抱怨 SICP “太難”;甚至連 SICP 自身於第二版也試圖補充了一些讓學習曲線更平滑的材料。第一屆的圖靈獎得主 Alan J. Perlis 甚至在序文為此辯白:
Do not labor under the illusion that this is a text digestible at MIT only, peculiar to the breed found there. It is precisely what a serious book on programming Lisp must be, no matter who the student is or where it is used.[15]

此外本書的讀者群 - 包含教師學生與各界社會人士 - 給了本書十分兩極化的評價,但不論好壞都非常有道理。所有改進或取代本書的動機都來自對本書的愛與恨。其中 Peter Norvig 的讀後感:〈Its the Best! Its the Worst! Why the split?〉[16] 總結了造成雙峰現象的各種原因並給了讓人信服的統合性結論。


Its the Best! Its the Worst! Why the split? by Peter Norvig
To use an analogy, if SICP were about automobiles, it would be for the person who wants to know how cars work, how they are built, and how one might design fuel-efficient, safe, reliable vehicles for the 21st century. The people who hate SICP are the ones who just want to know how to drive their car on the highway, just like everyone else.

Donald Knuth says he wrote his books for "the one person in 50 who has this strange way of thinking that makes a programmer". I think the most amazing thing about SICP is that there are so FEW people who hate it: if Knuth were right, then only 1 out of 50 people would be giving this 5 stars, instead of about 25 out of 50. Now, a big part of the explanation is that the audience is self-selected, and is not a representative sample. But I think part of it is because Sussman and Abelson have succeeded grandly in communicating "this strange way of thinking" to (some but not all) people who otherwise would never get there.

沒有留言: