跳至內容

電腦的程式的構造佮解說

出自Taiwan Tongues 台語維基
於 2025年8月22日 (五) 21:26 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

電腦的程式的構造佮解說》(英語:Structure and Interpretation of Computer Programs,SICP)是一本關於電腦程式設計的總體性觀念的基礎教科書,由麻省理工學院出版社和麥格羅希爾出版社共同出版行銷。作者是麻省理工學院教授哈爾 ・ 阿伯爾森、傑拉德 ・ 傑他 ・ 薩斯曼,此外傑拉德 ・ 傑他 ・ 薩斯曼的妻子朱莉 ・ 蘇斯曼也有參與本書的製作。封底的作者圖像是由其實驗室的同僚尼克 ・ 帕巾達基斯了後製造的合成照。

書中使用程式設計語言 Lisp 的方言 Scheme 來解說電腦科學的核心概念,包括抽象、遞迴、直譯器佮元語言抽象。具體微微仔是由宏觀甲微觀予出清楚地輪分佮脈絡。

SICP / 六鼻空空一

麻省理工學院上大的部門,Electrical Engineering and Computer Science,提供的課程予人編做「六系列」;而以 SICP 為底的課程「六鼻空空一」,一直到二空空八年退休為止,佇過去近三十年一直是「六系列」內底的 kha̋ng-páng 課程,是程式設計佮電腦科學的入門課程之一。

本冊咧出版印行較早,相關主題以及講義就先行佇麻省理工學院課程六鼻空空一使用。到頭版印行進前,有一份予這个部門教職員生的內部流通版,雖然無正式的印行,但麻省理工學院人工智慧實驗室的技術報告第七百三十五號(AITR 鋪七仔三十五)即是這份草稿。由 AI 佮 CSL 合併了的 CSAIL 猶閣儲存有這份檔案的電子檔。

自第一版面後壁有真濟名校佮進使用;閣引起廣大迴響,真濟著作因為生。第二版佇一九九六年出版,予伊所激發的著作佇無偌久後陸續改版。

因為兩位作者攏是自由軟體的支持者(傑拉爾德 ・ 傑他 ・ 蘇斯曼更自由軟體基金會的創始元老當中,除了理察 ・ 馬修 ・ 斯托曼以外唯一一位猶持續活動。), 六桱空空一為此而生的 Scheme 實作品,佇自由軟體基金會成立進前就已經釋出,基金會成立後壁改名做 MIT / GNU Scheme。雖然麻省理工學院人工智慧實驗室一直咧維護 MIT / GNU Scheme,但累積一代閣一代巧駭客的心力,這傷過詭異神妙精心設計的產品到尾仔連家己厝內人都袂當完全理解掌握,甚至佇最後一期的課程由作者之一而且同時回國擔任課程教授的傑拉爾德 ・ 傑他 ・ 蘇斯曼宣佈叫是親切好用而且仝款優異強大的競爭對手 DrScheme 為課程正式支援版本,足久以來使用的 MIT / GNU Scheme;這做法於向來自傲的麻省理工學院真罕見。

另外一位作者 Harold Abelson 積極推動的 MIT OCW 理所當然共囥落去六鼻空空一的課程講義,試卷佮參考的資料。 啊若一九八六年作者予 Hewlett-Packard(惠普)倩為其員工上課的錄影,嘛於惠普影視部後製處理了後大方地公開。

十年就是一个世紀的電腦科學領域,六鼻空空一徛牢牢三十年,總算佇咧二空空八年 MIT 功成身退,由開創本課程的教授傑拉爾德 ・ 傑他 ・ 蘇斯曼親自劃下句點。

對大專院校電腦科學教育的影響

本書被廣泛地認為是電腦科學的經典教材,佇電腦科學的教學領域產生了深刻的影響。濟濟經典教材攏是由本冊間接催化,諸如:

  • 《經典力學的結構佮解說》,由 SICP 啟發,傑拉德 ・ 傑他 ・ 薩斯曼參與的古典力學教材。(SICP 激發的創作當中,唯一毋是電腦科學領域的。)
  • 《按怎設計程式》,由 SICP 出發的改良品。有簡體中文版《程式設計方法》。 DrScheme 是作者搭配本冊推出的 Scheme 教學用實作品。
  • 《程式設計語言的基本愛素》,用特定的語言 Scheme 推演全書,這種寫法佇咧程式語言結構的主題十分罕見。
  • 《碎片化 Lisp》,專談 Scheme 的編譯器佮直譯器原理佮製作。
  • 《建議方案》,為著欲予 SICP 閣較容易上手的先攢冊。SICP 的部份作者嘛有參與本冊先期的製作過程。
  • 《具體抽象》,比 SICP 有閣較濟例並且無遐爾要求讀者的數學能力。

價值咧講的是,差不多所有的衍生作攏直接抑是間接地哼呻 SICP「傷難」;甚至連 SICP 家己佇第二版嘛試圖補充一寡予學習的曲線閣較平滑的材料。第一屆的圖靈獎得主艾倫 ・ 佩利甚至佇咧序大為此辯白:


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 .

另外本冊的讀者群-包含教師學生佮各界社會人士-予本書十分兩極化的評價,無論好䆀攏非常有道理。所有改進抑是取代本冊的動機攏來自對本冊的愛佮恨。其中那個德 ・ 諾米格的讀了感:〈 Its the Best ! Its the Worst ! Why the split ?〉 總結了造成雙峰現象的各種原因並予予人信服的統合性結論。

各界評語

封底列舉了美國東北大學電腦佮資訊學院院長米切爾 ・ 旺德於《美國科學家雜誌》的發言:

> Because of its clarity , simplicity and wit , this work is highly recommended to anyone seeking an understanding of the emerging paradigms of computer science . . . the book should be read by every self-respecting computer scientist . > >

除了封底,書籍的官方站點嘛有收錄部份發表佇學術界知名期刊的評論:

> The book should be obligatory for anyone involved in teaching computer science at degree level : it will convince them that inside computer science there really is a true science trying to get out . > >

> This is the first introductory book I would strongly recommend to anyone who wants to learn how to construct computer programs . . . if you are looking for a book to thrust into the hands of someone who wants to be initiated into the power and pleasures of programming , this book is the best I have seen yet . > >

> My only problem with this book is the fact that it is far too fascinating for a first course in computing . I tried to browse it , but I was immediately sucked into reading every wonderful word . Be warned : don't open a copy of this book until you are ready for a programming feast . > >

各語言的版本

原文版

原文版無論頭一版抑是二版,因為 MIT press 佮 McGraw-Hill 的出版協定,為兩間出版社隨人成書和行銷。其中 McGraw-Hill 負責北美地區教科書的訂買業務,啊若用著其他使用目的佮來自其他地區的教科書定買,則攏交予 MIT press。因為這六鼻空空一課程的結束,McGraw-Hill 已經停止印行,所以 SICP 原文版干焦會當對 MIT press 訂買會著。

日文版

  • 原冊頭一版由元吉文男譯出,麥格羅.希爾出版。本譯本評較懸,毋過隨著出版社倒去已經絕版。
  • 原冊第二版由叫做日本第一位駭客,時任麻省理工學院助理教授的佮田英一譯出,日本培生集團出版。雖然譯者學術表現無啥䆀,但譯本譀誤啥濟,本書的評價十分低落來。

中文版

干焦翻譯自原冊第二版的簡體中文版,由北京大學數學學院的資訊科學系教授裘宗燕譯出,機械工業出版社出版。

佮 Lisp 的淵源

頭一版面世人工智慧相關研究當咧稀微:經費削減,研究無重大突破。本來註定佮人工智慧研究愛做伙老死佇實驗室的 Lisp,因為這本冊毋但行出實驗室,更風靡新一代的學子,予這傷過先進、超越時代的程式語言會當延續性命。佇咧 SICP 出現進前,無人認為講 Lisp 會當擔當講授入門程式設計基礎的教學語言。

時到今因為硬體的大效佮低價,使用真正的高階的語言,如 Lisp,不再是奢華的選擇。抑若電腦運算平台欲往多核心佮平行處理發展,函式程式語言的特性嘛會當閣較有效地運用這類架構。 當因為這个冊乎 Lisp 飛入尋常百姓家延續性命佮活力,Lisp 才會當產生大環境佮時機的成熟有機會通閣衝起來。

除了著 Lisp 的相關影響,SICP 嘛影響程式語言的設計佮取捨閣有編程典範的發展佮時行。

號做

此書佇駭客圈有兩个號做,一个是「魔法書」,另外一个叫「紫皮書」。

另外佇任何 Scheme 的論壇,講著「The Bible」就是講 SICP。

佇四 chan 上捌有人索欲過一本號做 The Usual Play 的菜莉控 bàng-gà 的無色情的畫面版本,回覆者共所有的色情畫面攏改為著SICP彼个內容節圖,傳送一本號做 The Usual Lisp 的修改版。這本冊就按呢變成一種模因,定定予人用佇咧「鎮宅」。 這嘛紮出袂少佮 SICP 相關的同人創作。

參考佮註解

關聯條目

  • Lisp
  • Scheme
  • 函式程式語言
  • 程式語言
  • 電腦科學

外部連結

  • SICP 官方網站(英文)(全書的內容)
  • Structure and Interpretation of Computer Programs—JavaScript Adaptation . [二千空二十五十九九] .(原始內容存檔佇兩千空二十一孵一孵十八).   Martin Henz and Tobias Wrigstad . SICP JavaScript 是咧講 . [二千空二十五十九九] .(原始內容存檔佇兩千空二十五十三).   譯者:飛龍 .
  • SICP in Python-CS 六十一 A : Online Textbook . [二千空二十五十九九] .(原始內容存檔佇兩千空二十五五鋪三十).   John Denero . SICP Python 來講中文版 . [二千空二十五十九九] .(原始內容存檔佇兩千空二十五四分二十一).   譯者:飛龍 .