電腦程式的構造與解釋 (JavaScript版) Structure and Interpretation of Computer Programs: JavaScript Edition
Harold Abelson 譯 裘宗燕
- 出版商: 機械工業
- 出版日期: 2024-01-01
- 定價: $774
- 售價: 8.5 折 $658
- 語言: 簡體中文
- 頁數: 512
- 裝訂: 平裝
- ISBN: 7111734637
- ISBN-13: 9787111734635
-
相關分類:
JavaScript
- 此書翻譯自: Structure and Interpretation of Computer Programs: JavaScript Edition (Paperback)
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
敏捷軟體開發:原則、樣式及實務 (Agile Software Development: Principles, Patterns, and Practices)$780$616 -
重構─改善既有程式的設計, 2/e (Refactoring: Improving The Design of Existing Code)$800$632 -
無瑕的程式碼-敏捷軟體開發技巧守則 + 番外篇-專業程式設計師的生存之道 (雙書合購)$940$700 -
深入理解計算機系統, 3/e (Computer Systems: A Programmer's Perspective, 3/e)$834$792 -
$454圖解 Java 多線程設計模式 -
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
CODE COMPLETE:軟體開發實務指南, 2/e (中文版) (Code Complete: A Practical Handbook of Software Construction, 2/e)$1,280$998 -
$749重構 : 改善既有代碼的設計, 2/e (簡中典藏精裝版)(Refactoring: Improving The Design of Existing Code, 2/e) -
$474電腦程序的構造和解釋, 2/e (典藏版) (Structure and Interpretation of Computer Programs, 2/e) -
程序設計方法, 2/e$594$564 -
Traefik API Gateway for Microservices: With Java and Python Microservices Deployed in Kubernetes$2,390$2,271 -
Kent Beck 的測試驅動開發:案例導向的逐步解決之道 (Test-Driven Development: By Example)(TDD)$560$437 -
白話演算法!培養程式設計的邏輯思考 (Grokking Algorithms: An illustrated guide for programmers and other curious people)$520$468 -
$534面向對象的思考過程, 5/e (The Object-Oriented Thought Process, 5/e) -
$607匠藝整潔之道:程序員的職業修養 -
Clean Architecture 實作篇:在整潔的架構上弄髒你的手 (Get Your Hands Dirty on Clean Architecture)$500$390 -
重構的時機與實作|五行程式碼規則 (Five Lines of Code: How and When to Refactor)$680$537 -
$749深入理解 Go 並發編程:從原理到實踐,看這本就夠了 -
程式設計守則|如何寫出更好的程式碼 (The Rules of Programming: How to Write Better Code)$620$490 -
深入 Rust 標準庫:必備的 Rust 語言高級指南$708$673 -
前端測試指南:策略與實踐$650$507 -
簡約的軟體開發思維:用 Functional Programming 重構程式 - 以 Javascript 為例 (Grokking Simplicity: Taming Complex Software with Functional Thinking)$1,000$790 -
這樣寫 code 好不好?辨識、分析、改善,寫出易讀易維護的程式碼$630$536 -
AI 工程|從基礎模型建構應用 (AI Engineering : Building Applications with Foundation Models)$1,200$948 -
Vibe Coding - Cursor 教戰手冊$880$695
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書主要介紹計算的核心思想,採用的方法是為計算建立一系列概念模型。
主要內容包括:
建構過程抽象,建構資料抽象,模組化、物件與狀態,元語言抽象,暫存器機器裡的計算等。
採用JavaScript作為實例分析,但不拘泥於對語言的解釋,而是透過這種語言來闡述程式設計想法。
第1章介紹了計算過程以及函數在程式設計中扮演的角色。
第2章在第1章的基礎上提供了將資料物件組合起來形成複合數據,進而建構抽象的方法。
第3章介紹了一些幫助我們模組化建構大型系統的策略。
第4章透過後設語言抽象探究如何在一些語言的基礎上發展新語言的技術。
第5章從寄存器機器的角度出發,透過設計寄存器機器,開發一些機制,
實作重要的程式設計結構,同時給予一種描述暫存器機器設計的語言。
本書揭示電腦程式設計思想的實質是改變了人們的思考方式:從命令式的觀點去研究知識的結構。
作者簡介
哈羅德‧阿貝爾森(Harold Abelson),麻省理工學院電腦科學與電子工程系教授,IEEEFellow。他在電腦科學教學方面獲得了許多獎項,包括Bose教學獎、TaylorL.Booth教育獎、ACM電腦科學教育傑出貢獻獎和ACM Karl Karlstrom傑出教育家獎等。他致力於讓所有人都能更輕鬆地取得和使用資訊技術,並發起或參與了多項IT技術普及專案和開源專案。
目錄大綱
目 錄
Structure and Interpretation of Computer Programs: JavaScript Edition
譯者序
序言
1984年版《電腦程式的構造與解釋》的原序
前言
1996年SICP第2版的序言
1984年SICP第1版的序言
致謝
1996年SICP第2版的致謝
第1章 建構子抽象1
1.1 程式設計的基本元素2
1.1.1 表達式3
1.1.2 命名與環境4
1.1.3 運算子組合式的求值5
1.1.4 複合函數6
1.1.5 函數應用的代換模型8
1.1.6 條件表達式和謂詞11
1.1.7 實例:用牛頓法求平方根14
1.1.8 函數作為黑箱抽象17
1.2 函數與它們產生的計算20
1.2.1 線性遞歸與疊代21
1.2.2 樹形遞歸24
1.2.3 增長的階28
1.2.4 求冪29
1.2.5 最大公約數31
1.2.6 實例:素數檢測33
1.3 用高階函數做抽象37
1.3.1 函數作為參數37
1.3.2 用lambda表達式建構子41
1.3.3 函數作為通用的方法45
1.3.4 函數作為返回值48
第2章 建構資料抽象54
2.1 初識資料抽象56
2.1.1 實例:有理數的算術運算56
2.1.2 抽象屏障59
2.1.3 資料是什麼意思? 61
2.1.4 延伸練習:區間算術63
2.2 層次性資料與閉包性質65
2.2.1 序列的表示66
2.2.2 層次結構72
2.2.3 序列作為約定的接口76
2.2.4 實例:一個圖形語言86
2.3 符號資料96
2.3.1 字串96
2.3.2 實例:符號求導97
2.3.3 實例:集合的表示102
2.3.4 實例:Huffman編碼樹108
2.4 抽象資料的多重表示114
2.4.1 複數的表示115
2.4.2 帶標籤資料118
2.4.3 資料導向的程式設計和可
加性121
2.5 包含通用型操作的系統127
2.5.1 通用型算術運算128
2.5.2 不同類型資料的組合131
2.5.3 實例:符號代數136
第3章 模組化、物件與狀態146
3.1 賦值與局部狀態146
3.1.1 局部狀態變量147
3.1.2 引進賦值帶來的利益152
3.1.3 引進賦值的代價155
3.2 求值的環境模型159
3.2.1 求值規則160
3.2.2 簡單函數的應用163
3.2.3 框架作為局部狀態的倉庫165
3.2.4 內部定義169
3.3 用變動資料建模172
3.3.1 可變的表結構172
3.3.2 隊列的表示179
3.3.3 表格的表示182
3.3.4 數碼電路模擬器187
3.3.5 約束傳播196
3.4 並發:時間是一個本質問題205
3.4.1 並發系統中時間的性質206
3.4.2 控制並發的機制209
3.5 流218
3.5.1 流作為延遲的表219
3.5.2 無窮流225
3.5.3 流計算模式的應用230
3.5.4 流和延遲求值238
3.5.5 函數式程式的模組化與對象
的模組化242
第4章 元語言抽象246
4.1 元循環求值器248
4.1.1 求值器的核心部份249
4.1.2 組件的表示254
4.1.3 求值器的資料結構263
4.1.4 把求值器當作程式運行267
4.1.5 以資料為程式270
4.1.6 內部聲明272
4.1.7 分離語法分析與執行275
4.2 惰性求值280
4.2.1 正則序與應用序280
4.2.2 採用惰性求值的解譯器281
4.2.3 流作為惰性的表288
4.3 非確定性計算289
4.3.1 搜尋和amb291
4.3.2 非確定性程序實例294
4.3.3 實作amb求值器300
4.4 邏輯程序設計309
4.4.1 演繹式資訊檢索311
4.4.2 查詢系統如何運作320
4.4.3 邏輯程式設計
是數理邏輯嗎? 326
4.4.4 實作查詢系統330
第5章 暫存器機器裡的計算350
5.1 暫存器機器的設計351
5.1.1 一種描述暫存器機器的語言352
5.1.2 機器設計的抽象355
5.1.3 子程序357
5.1.4 使用棧實作遞歸360
5.1.5 指令總結364
5.2 暫存器機器的模擬器365
5.2.1 機器模型366
5.2.2 彙編器369
5.2.3 指令和它們的執行函數372
5.2.4 監視機器執行378
5.3 儲存分配與廢料收集380
5.3.1 把內存看成向量380
5.3.2 維持一種無限儲存的假象384
5.4 明確控制的求值器389
5.4.1 分派器和基本求值390
5.4.2 函數應用的求值393
5.4.3 塊結構、賦值與聲明400
5.4.4 求值器的運作401
5.5 編譯405
5.5.1 編譯器的結構407
5.5.2 組件的編譯411
5.5.3 編譯函數應用與傳回語句417
5.5.4 指令序列的組合423
5.5.5 編譯程式碼的實例426
5.5.6 詞法地址433
5.5.7 將編譯程式碼與求值器接口435
參考文獻441
索引447
練習列表490
