七周七語言:理解多種編程范型

七周七語言:理解多種編程范型

2.3.1 5.2.1 7.2.1

基本信息

原書名:Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages
作者:(美)Bruce A.Tate


譯者:戴瑋白明巨成
叢書名:圖靈程式設計叢書
出版社:人民郵電出版社
ISBN:9787115276117
出版日期:2012 年5月
開本:16開
頁碼:247
版次:1-1

內容簡介

七周七語言:理解多種編程范型》共介紹了七種不同的程式語言。對於每種語言,分別介紹了各自的特性、套用,以及編程入門知識和關鍵編程范型,還帶領讀者使用能夠代表該語言最重要特性的技術,解決某個不尋常的問題,使其充分掌握每種語言。
《七周七語言:理解多種編程范型》適合從事程式設計工作的人員閱讀。

目錄

《七周七語言:理解多種編程范型》
第1章 簡介 1
1.1 不走尋常路 1
1.2 語言 2
1.3 誰應該買這本書 4
1.3.1 學會如何學習 4
1.3.2 亂世英雄 4
1.4 誰不應該買這本書 5
1.4.1 超越語法 5
1.4.2 不是安裝指南 6
1.4.3 不是編程參考 6
1.4.4 嚴格督促 6
1.5 最後一擊 7
第2章 ruby 8
2.1 ruby簡史 9
2.2 第一天:找個保姆 10
2.2.1 快速起步 10
2.2.2 從命令行執行ruby 10
2.2.3 ruby的編程模型 11
2.2.4 判斷 12
.2.2.5 鴨子類型 15
2.2.6 第一天我們學到了什麼 16
2.2.7 第一天自習 16
2.3 第二天:從天而降 17
2.3.1 定義函式 17
2.3.2 數組 17
2.3.3 散列表 19
2.3.4 代碼塊和yield 20
2.3.5 定義類 22
2.3.6 編寫mixin 25
2.3.7 模組、可枚舉和集合 26
2.3.8 第二天我們學到了什麼 27
2.3.9 第二天自習 28
2.4 第三天:重大改變 28
2.4.1 打開類 29
2.4.2 使用method_missing 30
2.4.3 模組 31
2.4.4 第三天我們學到了什麼 35
2.4.5 第三天自習 35
2.5 趁熱打鐵 35
2.5.1 核心優勢 35
2.5.2 不足之處 37
2.5.3 最後思考 37
第3章 io 38
3.1 io簡介 38
3.2 第一天:逃學吧,輕鬆一下 39
3.2.1 開場白 39
3.2.2 對象、原型和繼承 40
3.2.3 方法 43
3.2.4 列表和映射 44
3.2.5 true、false、nil以及單例 46
3.2.6 steve dekorte訪談錄 48
3.2.7 第一天我們學到了什麼 49
3.2.8 第一天自習 50
3.3 第二天:香腸大王 50
3.3.1 條件和循環 51
3.3.2 運算符 52
3.3.3 訊息 54
3.3.4 反射 56
3.3.5 第二天我們學到了什麼 57
3.3.6 第二天自習 57
3.4 第三天:花車遊行和各種奇妙經歷 58
3.4.1 領域特定語言 58
3.4.2 io的method_missing 60
3.4.3 並發 62
3.4.4 第三天我們學到了什麼 64
3.4.5 第三天自習 64
3.5 趁熱打鐵 65
3.5.1 核心優勢 65
3.5.2 不足之處 66
3.5.3 最後思考 66
第4章 prolog 67
4.1 關於prolog 68
4.2 第一天:一名優秀的司機 68
4.2.1 基本概況 68
4.2.2 基本推論和變數 69
4.2.3 填空 70
4.2.4 合一,第一部分 73
4.2.5 實際套用中的prolog 75
4.2.6 第一天我們學到了什麼 77
4.2.7 第一天自習 77
4.3 第二天:離瓦普納法官開演還有
15分鐘 78
4.3.1 遞歸 78
4.3.2 列表和元組 79
4.3.3 列表與數學運算 82
4.3.4 在兩個方向上使用規則 83
4.3.5 第二天我們學到了什麼 86
4.3.6 第二天自習 87
4.4 第三天:維加斯的爆發 87
4.4.1 解決數獨問題 87
4.4.2 八皇后問題 91
4.4.3 第三天我們學到了什麼 96
4.4.4 第三天自習 96
4.5 趁熱打鐵 96
4.5.1 核心優勢 97
4.5.2 不足之處 97
4.5.3 最後思考 98
第5章 scala 99
5.1 關於scala 99
5.1.1 與java的密切關係 100
5.1.2 沒有盲目崇拜 100
5.1.3 Martin Odersky訪談錄 100
5.1.4 函式式編程與並發 101
5.2 第一天:山丘上的城堡 102
5.2.1 scala 類型 102
5.2.2 表達式與條件 103
5.2.3 循環 105
5.2.4 範圍與元組 107
5.2.5 scala中的類 109
5.2.6 擴展類 111
5.2.7 第一天我們學到了什麼 113
5.2.8 第一天自習 114
5.3 第二天:修剪灌木叢和其他新把戲 114
5.3.1 對比var和val 115
5.3.2 集合 115
5.3.3 集合與函式 119
5.3.4 第二天我們都學到了什麼 124
5.3.5 第二天自習 124
5.4 第三天:剪斷絨毛 125
5.4.1 xml 125
5.4.2 模式匹配 126
5.4.3 並發 128
5.4.4 實際中的並發 129
5.4.5 第三天我們學到了什麼 132
5.4.6 第三天自習 132
5.5 趁熱打鐵 133
5.5.1 核心優勢 133
5.5.2 不足之處 134
5.5.3 最後思考 135
第6章 erlang 136
6.1 erlang簡介 136
6.1.1 為並發量身打造 137
6.1.2 joe armstrong博士訪談錄 138
6.2 第一天:以常人面目出現 139
6.2.1 新手上路 140
6.2.2 注釋、變數和表達式 140
6.2.3 原子、列表和元組 141
6.2.4 模式匹配 142
6.2.5 函式 144
6.2.6 第一天我們學到了什麼 147
6.2.7 第一天自習 147
6.3 第二天:改變結構 148
6.3.1 控制結構 148
6.3.2 匿名函式 150
6.3.3 列表和高階函式 150
6.3.4 列表的一些高級概念 153
6.3.5 第二天我們學到了什麼 156
6.3.6 第二天自習 157
6.4 第三天: 紅藥丸 157
6.4.1 基本並發原語 157
6.4.2 同步訊息 160
6.4.3 連結進程以獲得可靠性 162
6.4.4 第三天我們學到了什麼 167
6.4.5 第三天自習 167
6.5 趁熱打鐵 167
6.5.1 核心優勢 168
6.5.2 不足之處 169
6.5.3 最後思考 169
第7章 clojure 170
7.1 clojure入門 170
7.1.1 一切皆lisp 170
7.1.2 jvm 171
7.1.3 為並發更新 171
7.2 第一天:訓練luke 172
7.2.1 調用基本函式 172
7.2.2 字元串和字元 174
7.2.3 布爾值和表達式 175
7.2.4 列表、映射表、集合以及
向量 176
7.2.5 定義函式 179
7.2.6 綁定 180
7.2.7 匿名函式 182
7.2.8 rich hickey訪談錄 183
7.2.9 第一天我們學到了什麼 184
7.2.10 第一天自習 185
7.3 第二天:yoda與原力 185
7.3.1 用loop和recur遞歸 185
7.3.2 序列 186
7.3.3 延遲計算 189
7.3.4 defrecord和protocol 191
7.3.5 宏 193
7.3.6 第二天我們學到了什麼 194
7.3.7 第二天自習 195
7.4 第三天:一瞥魔鬼 195
7.4.1 引用和事務記憶體 196
7.4.2 使用原子 197
7.4.3 使用代理 198
7.4.4 future 200
7.4.5 還差什麼 200
7.4.6 第三天我們學到了什麼 201
7.4.7 第三天自習 201
7.5 趁熱打鐵 201
7.5.1 lisp悖論 202
7.5.2 核心優勢 202
7.5.3 不足之處 203
7.5.4 最後思考 204
第8章 haskell 205
8.1 haskell簡介 205
8.2 第一天:邏輯 206
8.2.1 表達式和基本類型 206
8.2.2 函式 208
8.2.3 元組和列表 211
8.2.4 生成列表 214
8.2.5 philip wadler訪談錄 217
8.2.6 第一天我們學到了什麼 218
8.2.7 第一天自習 218
8.3 第二天:spock的超凡力量 218
8.3.1 高階函式 219
8.3.2 偏套用函式和柯里化 220
8.3.3 惰性求值 221
8.3.4 simon peyton-jones訪談錄 223
8.3.5 第二天我們學到了什麼 224
8.3.6 第二天自習 225
8.4 第三天:心靈融合 226
8.4.1 類與類型 226
8.4.2 monad 231
8.4.3 第三天我們學到了什麼 236
8.4.4 第三天自習 237
8.5 趁熱打鐵 237
8.5.1 核心優勢 237
8.5.2 不足之處 238
8.5.3 最後思考 239
第9章 落幕時分 240
9.1 編程模型 240
9.1.1 面向對象(ruby、scala) 241
9.1.2 原型編程(io) 241
9.1.3 約束-邏輯編程(prolog) 241
9.1.4 函式式編程(scala、erlang、
clojure、haskell) 241
9.1.5 范型演進之路 242
9.2 並發 242
9.2.1 控制可變狀態 243
9.2.2 io、erlang和scala中的actor 243
9.2.3 future 243
9.2.4 事務型記憶體 243
9.3 編程結構 244
9.3.1 列表解析 244
9.3.2 monad 244
9.3.3 匹配 245
9.3.4 合一 246
9.4 發現自己的鏇律 246
附錄 參考書目 247

相關詞條

相關搜尋

熱門詞條

聯絡我們