- 計算機程序的構造和解釋(JavaScript版)
- (美)哈羅德·阿貝爾森等
- 1696字
- 2024-06-06 19:10:10
1996年SICP第2版的致謝
我們希望感謝許多在這本書和這一教學計劃的開發中幫助過我們的人們。
我們的工作明顯是課程“6.231”的后繼?!?.231”是20世紀60年代由Jack Wozencraft和Arthur Evans Jr.在MIT教授的一門有關程序設計語言學和lambda演算的美妙課程。
我們從Robert Fano那里受益良多,是他組織了MIT電子工程和計算機科學的基礎教學計劃,并特別強調工程設計的原理。他領導我們開始這一事業,并為此寫出了第一批問題注記。本書就是從那里演化出來的。
我們試圖教授的大部分程序設計風格和美學都是與Guy Lewis Steele Jr.一起開發的,他在Scheme語言的初始開發階段與Gerald Jay Sussman合作。此外,David Turner、Peter Henderson、Dan Friedman、David Wise和Will Clinger也教給我們許多函數式程序設計社區的技術,它們出現在本書里的許多地方。
Joel Moses教我們大型系統的構造。他從Macsyma符號計算系統的經驗中得到的真知灼見是:應避免復雜的控制,集中精力到數據的組織,以反映被模擬世界的真實結構。
許多有關程序設計及其在我們的智力活動中的位置的認識來自Marvin Minsky和Seymour Papert。從他們那里我們理解了,計算提供了一種探索思想的表達方式的手段,沒有它,這些思想會因為太復雜而無法精確處理。他們更強調說,學生寫作和修改程序的能力可以成為一種強有力的工具,可以將探索變成一種自然的活動。
我們也完全同意Alan J.Perlis的看法,程序設計包含著許多樂趣,我們應該認真地支持程序設計的趣味性。這種樂趣部分地來源于觀看大師們的工作。我們非常幸運曾在Bill Gosper和Richard Greenblatt手下學習程序設計。
很難列出對這一教學計劃的開發做出過貢獻的所有人。我們衷心感謝在過去15年里與我們一起工作過,并在此科目上付出時間和心血的所有教師、答疑老師和輔導員們,特別是Bill Siebert、Albert Meyer、Joe Stoy、Randy Davis、Louis Braida、Eric Grimson、Rod Brooks、Lynn Stein和Peter Szolovits。我們想特別對Franklyn Turbak(現在在Wellesley)出色的教學貢獻表達謝意,他在本科生指導方面的工作為我們的努力設定了一個標準。我們還要感謝Jerry Saltzer和Jim Miller幫助我們克服并發性中的難點,還有Peter Szolovits和David McAllester對第4章里有關非確定性求值的闡述的貢獻。
許多人為在他們自己的大學里講授本書付出了極大努力。其中與我們密切合作的有以色列理工學院的Jacob Katzenelson、加州大學爾灣分校的Hardy Mayer、牛津大學的Joe Stoy、普渡大學的Elisha Sacks,以及挪威科技大學的Jan Komorowski。我們特別為那些在其他大學移植這一科目,并由此獲得重要教學獎的同行們感到驕傲,包括耶魯大學的Kenneth Yip、加州大學伯克利分校的Brian Harvey和康奈爾大學的Dan Huttenlocher。
Al Moyé安排我們到惠普公司為工程師教授這一材料,并為課程制作了錄像帶。我們感謝那些有才干的教師——特別是Jim Miller、Bill Siebert和Mike Eisenberg,他們設計了結合這些錄像帶的繼續教育課程,并在全世界的許多大學和企業講授。
其他國家的許多教育工作者也在翻譯本書的第1版方面做了許多工作。Michel Briand、Pierre Chamard和André Pic翻譯出法文版,Susanne Daniels-Herold翻譯出德文版,Fumio Motoyoshi翻譯出日文版。我們不知道誰做的中文版,但也把本書選作為一個“未經授權”的翻譯工作看作一種榮譽。
要列舉出所有為我們用于教學的Scheme系統做出過貢獻的人是非常困難的。除了Guy Steele之外,主要的專家還包括Chris Hanson、Joe Bowbeer、Jim Miller、Guillermo Rozas和Stephen Adams。在這一工作上付出許多時間的還有Richard Stallman、Alan Bawden、Kent Pitman、Jon Taft、Neil Mayle、John Lamping、Gwyn Osnos、Tracy Larrabee、George Carrette、Soma Chaudhuri、Bill Chiarchiaro、Steven Kirsch、Leigh Klotz、Wayne Noss、Todd Cass、Patrick O’Donnell、Kevin Theobald、Daniel Weise、Kenneth Sinclair、Anthony Courtemanche、Henry M.Wu、Andrew Berlin和Ruth Shyu。
除了MIT的實現之外,我們還想感謝在IEEE Scheme標準方面工作的許多人,包括William Clinger和Jonathan Rees,他們編寫了R4RS;還有Chris Haynes、David Bartley、Chris Hanson和Jim Miller,他們撰寫了IEEE標準。
多年來Dan Friedman一直是Scheme社團的領袖。這一社團的工作范圍已經從語言設計問題擴展到重要教育創新的相關問題,例如基于Schemer’s Inc.的EdScheme的高中教學計劃,以及由Mike Eisenberg還有由Brian Harvey和Matthew Wright撰寫的絕妙著作。
我們還要感謝那些為本書的成書做出貢獻的人們,特別是MIT出版社的Terry Ehling、Larry Cohen和Paul Bethge。Ella Mazel為本書找到了最美妙的封面圖。對于第2版,我們要特別感謝Bernard和Ella Mazel對本書設計的幫助,以及David Jones作為TEX專家的非凡能力。我們還要感謝以下讀者對這個新書稿提出了很深刻的意見,包括Jacob Katzenelson、Hardy Mayer、Jim Miller,特別是Brian Harvey,他對于本書所做的就像Julie對他的著作Simply Scheme所做的那樣。
最后我們還想對有關的資助組織表示感謝,它們多年來一直支持這一工作的進行。包括來自惠普公司的支持——Ira Goldstein和Joel Birnbaum的幫助使之成為可能。還有來自DARPA的支持——得到了Bob Kahn的幫助。
Harold Abelson和Gerald Jay Sussman
- Python快樂編程:人工智能深度學習基礎
- 國際大學生程序設計競賽中山大學內部選拔真題解(二)
- 零起步玩轉掌控板與Mind+
- 造個小程序:與微信一起干件正經事兒
- Boost C++ Application Development Cookbook(Second Edition)
- HTML5+CSS3基礎開發教程(第2版)
- Learn Programming in Python with Cody Jackson
- Monitoring Elasticsearch
- 精通MATLAB(第3版)
- 0 bug:C/C++商用工程之道
- Learning Hadoop 2
- Java圖像處理:基于OpenCV與JVM
- Python自然語言理解:自然語言理解系統開發與應用實戰
- 深入理解BootLoader
- Android應用開發實戰(第2版)