Book description
Tom Stuart,電腦科學家、程式開發人員,也是倫敦一所數位產品顧問公司Codon的創辦人。 他擔任顧問、領導者、培訓師,協助公司改善他們創造軟體產品的方法,尤其是這些方法的品質和清晰度。
終於能以既吸引人又極具實用的方式,學習運算理論和程式語言設計。這本書以你所認知的脈絡解說電腦科學的理論,協助你察覺這些概念何以重要,以及如何將它們注入你的日常的程式設計工作。
本書揚棄數學符號或不熟悉的純理論程式語言(例如Haskell或Lisp),而是以簡化的風格,使用Ruby來呈現形式語意、自動機理論和lambda演算的函數程式設計。因此非常適合精通現代語言、但卻欠缺電腦科學正規訓練(或不足)的程式開發人員。
* 瞭解基礎運算概念,諸如語言裡的圖靈完整性
* 發現程式如何使用動態語意將想法傳達給機器
* 將電腦簡化到只剩基本元素,探索它可以做什麼
* 學習通用圖靈機如何引領今日一般用途的電腦
* 使用簡單的語言和細胞自動機來執行複雜的計算
* 判斷哪些程式語言的功能是運算的重要基石
* 檢查停止和自我參照如何使得某些運算問題無解
* 使用抽象解譯和型別系統來分析程式
Table of contents
- 封面
- 書名頁
- 授權聲明頁
- 目錄
- 前言
- 誰該讀這本書?
- 本書編排慣例
- 使用程式範例
- 致謝
- 第1章 夠用的Ruby
- 互動的Ruby殼層
- 值
- 基本資料
- 資料結構
- Procs
- 流程控制
- 物件和方法
- 類別和模組
- 其他的功能
- 區域變數和指定運算
- 字串內插
- 檢閱物件
- 列印字串
- Variadic方法
- 區塊
- 列舉
- 結構
- 猴子修補
- 定義常數
- 刪除常數
- 第1篇 程式和機器
- 第2章 程式的意義
- 意義的『意義』
- 語法
- 操作語意學
- 小步語意
- 大步語意 (1/2)
- 大步語意 (2/2)
- 指稱語意
- 運算式
- 陳述式
- 應用
- 實踐形式語意
- 形式
- 找出含義
- 備擇
- 實作解析器
- 第3章 最簡單的電腦
- 決定論有限自動機
- 狀態、規則、輸入
- 輸出
- 決定論
- 模擬物
- 非決定論有限自動機
- 非決定論
- 自由移動
- 正規運算式
- 語法
- 語意 (1/2)
- 語意 (2/2)
- 解析
- 等價 (1/2)
- 等價 (2/2)
- 第4章 只想加入運算能力
- 決定論下推自動機
- 儲存空間
- 規則
- 決定論
- 模擬物
- 非決定論下推自動機
- 模擬物
- 不等價
- 利用下推自動機解析
- 詞彙分析
- 語法分析
- 實踐
- 多大的運算能力?
- 第5章 終極機器
- 決定論圖靈機
- 儲存空間
- 規則
- 決定論
- 模擬物
- 非決定論圖靈機
- 最大的運算能力
- 內部儲存空間
- 副常式
- 數個磁帶
- 多維磁帶
- 通用機
- 編碼
- 模擬物
- 第2篇 運算和運算能力
- 第6章 無為的程式設計
- 模仿Lambda演算
- 使用Proc
- 問題
- 數值
- 布林值
- 述語
- 對組
- 數值運算 (1/2)
- 數值運算 (2/2)
- 串列
- 字串
- 解決方案 (1/2)
- 解決方案 (2/2)
- 程式設計進階技巧 (1/2)
- 程式設計進階技巧 (2/2)
- 實作Lambda演算
- 語法
- 語意 (1/2)
- 語意 (2/2)
- 解析
- 第7章 四處皆通用
- Lambda演算
- 部分遞迴函式 (1/2)
- 部分遞迴函式 (2/2)
- SKI組合器演算 (1/2)
- SKI組合器演算 (2/2)
- Iota
- 標籤系統 (1/2)
- 標籤系統 (2/2)
- 循環標籤系統 (1/3)
- 循環標籤系統 (2/3)
- 循環標籤系統 (3/3)
- 康威的生命遊戲
- 規則110
- 沃夫瑞的2, 3圖靈機
- 第8章 不可能的程式
- 生命的事實
- 通用系統可以執行演算法
- 程式可以參與圖靈機
- 程式碼就是資料
- 通用系統可以永遠循環 (1/2)
- 通用系統可以永遠循環 (2/2)
- 程式可以自我參照
- 可判定性
- 停機問題
- 建置停機核對器
- 絕對無法運作的狀況
- 其他無法決定的問題
- 令人沮喪的暗示
- 為什麼會這樣?
- 對付不可運算性
- 第9章 Toyland程式設計
- 抽象解譯
- 路線規劃
- 抽象體:乘法的正負號
- 安全和近似值:加法的正負號
- 靜態語意
- 實作物 (1/2)
- 實作物 (2/2)
- 好處和限制
- 應用
- 後記
- 索引 (1/3)
- 索引 (2/3)
- 索引 (3/3)
- 關於作者
- 出版記事
Product information
- Title: 深入理解運算原理|從簡單的機器到無所不能的程式
- Author(s):
- Release date: November 2017
- Publisher(s): GoTop Information, Inc.
- ISBN: None
You might also like
book
PHP設計模式學習手冊
動態專案的物件導向程式設計 本書以簡單的範例與全方位的應用程式,教導你使用各種物件導向模式,讓你更有效率的建構伺服器端應用程式,並且在過程中增進你的 PHP 編程技巧。 《PHP 設計模式學習手冊》教導你更精緻的編程風格,讓你大幅度的減少開發時間。這些可重複使用的模式可以協助你解決複雜的問題,以及物件導向程式的組織方式,讓你只要調整一部分的程式,就可以修改大型專案。 ‧學習設計模式的概念,包括如何針對特定的問題來選擇模式 ‧探討物件導向程式設計的概念,如組合、封裝、多型與繼承 ‧應用創造型設計模式來動態建立網頁,以工廠方法取代直接實例化 ‧使用結構型設計模式,在不更改原始程式的情況下,改變既有的物件或結構 ‧使用行為型模式,讓物件互相合作完成任務 ‧使用行為型模式與 MySQL 互動,如 Proxy 與 …
book
成為卓越程式設計師的38項必修法則
“本書會引發你對程式設計藝術與科學的熱情。Pete 知道:卓越的軟體,是優秀的人們盡最大努力所完成的。” -Lisa Crispin 《Agile Testing: A Practical Guide for Testers and Agile Teams》作者 如果你熱愛程式設計,想要提升自己的能力,那你就找到正確的資源了。《Code Craft …
book
LINUX系統程式設計 第二版
內容涵蓋 Linux Kernel 3.0 『任何人只要是對 Linux 的應用程式撰寫有興趣,或是想要知道如何提高自己的程式設計技能,書架上都應該有一本《Linux 系統程式設計》。這是一本專業 Linux 程式員必讀的書籍』 —Jeremy Allison Samba 團隊 直接與核心及 C …
book
JAVASCRIPT錦囊妙計第二版
網頁程式設計 "這是一本涵蓋全面並且擁有豐富實務範例的書。" -Dr. AxelRauschmayer, 《Speaking JavaScript》的作者 JavaScript在應用規模上日趨廣泛,如何善用JavaScript解決問題已是一門重要的課題。本書提供眾多的範例程式。這些範例涵蓋瀏覽器、伺服器及行動裝置領域的各種應用。每個範例包含可再利用的程式碼,對JavaScript物件、Node、Ajax、JSON、資料持續、圖形與多媒體、框架、JavaScript模組化、API等均提供了實用的建議。 針對有開發經驗的讀者,本書第一部分包羅JavaScript傳統應用方式以及新進概念。第二部份深入探討伺服器、行動應用開發以及許多最新工具。在過程中你將省下許多寶貴時間並學習到更多尖端技術。 主題簡介: ‧JavaScript經典 ‧陣列、函式與JavaScript物件 ‧存取使用者介面 ‧測試與可及性 ‧建立及使用JavaScript函式庫 ‧前後端的Ajax溝通 ‧豐富互動的網頁效果 …