-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Clojure程序設計 新銳編程語言集萃

( 簡體 字)
作者:[美] Stuart Halloway Aaron Bedra 類別:1. -> 程式設計 -> 綜合
譯者:
出版社:人民郵電出版社Clojure程序設計   新銳編程語言集萃 3dWoo書號: 35073
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:4/1/2013
頁數:255
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787115308474
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

Clojure是一種基于Java虛擬機的動態編程語言。它功能強大,支持函數式編程,簡化了并發編程,并且能調用Java程序。正是這些優點,使其贏得了眾多程序員的青睞。
  《Clojure程序設計》是介紹Clojure編程語言和程序設計的經典之作。第2版針對Clojure 1.3進行了全面的更新。全書共包括10章,分別介紹了Clojure概覽和基本特性、序列和函數式編程、并發編程模型、協議和數據類型、宏、多重方法,以及Clojure對Java的調用。最后提供了一個完整了解Clojure應用開發全過程的實例。
  《Clojure程序設計》適合有不同語言背景而想要學習和了解Clojure編程的程序員閱讀。函數式程序員、Java和C#程序員、Lisp程序員,以及Perl、Python和Ruby程序員,都能夠通過閱讀本書得到不同程度的收獲。
目錄:

第1章 啟航 1
1.1 為什么是Clojure 2
1.1.1 Clojure非常優雅 2
1.1.2 Clojure是Lisp的再度崛起 5
1.1.3 為什么是Lisp 5
1.1.4 它是Lisp,但括號少了 6
1.1.5 Clojure是函數式語言 8
1.1.6 Clojure簡化了并發編程 9
1.1.7 Clojure與Java虛擬機彼此親密無間 10
1.2 Clojure編程快速入門 11
1.2.1 使用REPL 12
1.2.2 特殊變量 13
1.2.3 添加共享狀態 14
1.3 探索Clojure的程序庫 16
1.3.1 require和use 17
1.3.2 查找文檔 18
1.4 小結 20

第2章 探索Clojure 21
2.1 形式 21
2.1.1 使用數值類型 22
2.1.2 符號 24
2.1.3 字符串與字符 25
2.1.4 布爾值與nil 27
2.1.5 映射表、關鍵字和記錄 28
2.2 讀取器宏 30
2.3 函數 32
2.3.1 匿名函數 34
2.3.2 何時使用匿名函數 36
2.4 變量、綁定和命名空間 36
2.4.1 綁定 37
2.4.2 解構 38
2.4.3 命名空間 40
2.5 調用Java 43
2.5.1 訪問構造函數、方法和字段 43
2.5.2 Javadoc 45
2.6 流程控制 45
2.6.1 分支結構與if 45
2.6.2 用do引入副作用 46
2.6.3 循環與loop/recur 47
2.7 我的for循環哪兒去了 48
2.8 元數據 52
2.9 小結 53

第3章 一切皆序列 55
3.1 一切皆序列 56
3.2 使用序列庫 61
3.2.1 創建序列 61
3.2.2 過濾序列 64
3.2.3 序列謂詞 65
3.2.4 序列轉換 66
3.3 惰性和無限序列 69
3.4 Java亦可序化 71
3.4.1 序化Java容器 71
3.4.2 序化正則表達式 73
3.4.3 序化文件系統 74
3.4.4 序化流 75
3.4.5 序化XML 76
3.5 調用特定于結構的函數 77
3.5.1 列表函數 77
3.5.2 向量函數 78
3.5.3 映射表函數 79
3.5.4 集合函數 82
3.6 小結 85

第4章 函數式編程 86
4.1 函數式編程理念 86
4.1.1 純函數 87
4.1.2 持久性數據結構 87
4.1.3 惰性和遞歸 88
4.1.4 引用透明性 89
4.1.5 FP的優勢 89
4.1.6 6條規則 90
4.2 怎樣偷個懶 91
4.2.1 尾遞歸 92
4.2.2 自遞歸與recur 94
4.2.3 惰性序列 95
4.2.4 聊聊變現 97
4.2.5 丟棄頭元素 98
4.3 懶上加懶 99
4.4 再議遞歸 105
4.4.1 轉換為自遞歸 106
4.4.2 采用Trampolining技術 107
4.4.3 用惰性化替代遞歸 109
4.4.4 用快存為遞歸抄條近路 112
4.5 小結 114

第5章 狀態 115
5.1 并發、并行和鎖定 116
5.2 引用與軟事務內存 117
5.2.1 ref-set 118
5.2.2 事務的屬性 118
5.2.3 alter 119
5.2.4 STM的工作原理:MVCC 120
5.2.5 commute 121
5.2.6 alter優先 122
5.2.7 為引用添加驗證 123
5.3 使用原子進行非協同、同步的更新 124
5.4 使用代理進行異步更新 125
5.4.1 代理的驗證與錯誤處理 126
5.4.2 在事務中包含代理 127
5.4.3 統一的更新模型 129
5.5 用變量管理線程內狀態 129
5.5.1 遠距離作用 131
5.5.2 用于Java回調API 132
5.6 Clojure貪吃蛇 134
5.6.1 函數式模型 135
5.6.2 使用STM建立可變模型 139
5.6.3 貪吃蛇的GUI 140
5.6.4 沒有引用的貪吃蛇 143
5.7 小結 144

第6章 協議和數據類型 145
6.1 針對抽象編程 145
6.2 接口 148
6.3 協議 149
6.4 數據類型 153
6.5 記錄 158
6.6 具體化 164
6.7 小結 165

第7章 宏 166
7.1 何時使用宏 166
7.2 編寫流程控制宏 167
7.2.1 特殊形式、設計模式和宏 169
7.2.2 宏展開 170
7.2.3 when與when-not 172
7.3 讓宏更加簡單 173
7.3.1 語法引述、解引述和解引述拼接 175
7.3.2 在宏內部創建名稱 176
7.4 宏的分類 178
7.4.1 有條件的求值 180
7.4.2 創建變量 181
7.4.3 Java互操作 183
7.4.4 延遲求值 184
7.4.5 對求值進行包裝 184
7.4.6 避免Lambda表達式 186
7.5 小結 187

第8章 多重方法 188
8.1 沒有多重方法的日子 188
8.2 定義多重方法 190
8.2.1 調度是繼承感知的 192
8.2.2 多重方法的默認值 192
8.3 調度不簡單 193
8.4 創建特設分類法 195
8.5 何時應該使用多重方法 199
8.5.1 Inspector 200
8.5.2 clojure.test 201
8.5.3 反例 202
8.6 小結 203

第9章 極盡Java之所能 204
9.1 異常處理 205
9.1.1 保持簡單的異常處理 205
9.1.2 清理資源 206
9.1.3 響應異常 207
9.2 與整數搏斗 209
9.3 性能優化 210
9.3.1 使用基本類型提升性能 210
9.3.2 添加類型提示 213
9.4 在Clojure中創建Java類 215
9.4.1 創建Java代理 215
9.4.2 使用Java容器 217
9.5 真實世界的例子 220
9.5.1 真正的持續循環 222
9.5.2 日志 224
9.5.3 配置 226
9.6 小結 227

第10章 搭建應用 228
10.1 為電碼譯員游戲計分 229
10.2 測試計分器 232
10.2.1 手工構造輸入 233
10.2.2 運行測試 234
10.2.3 驗證輸出 235
10.2.4 回歸測試 236
10.3 test.generative 237
10.3.1 生成數據 237
10.3.2 程序化驗證 238
10.3.3 defspec 240
10.3.4 運行測試 241
10.3.5 規格執行失敗時 242
10.3.6 計分函數的產生式測試 243
10.4 創建用戶界面 244
10.4.1 該是時候處理狀態了 245
10.4.2 玩家界面 246
10.5 部署代碼 249
10.5.1 Procfile 250
10.5.2 Heroku庫 250
10.5.3 Git 251
10.5.4 安置你的應用 251
10.5.5 部署 252
10.6 小結 252

附錄 編輯器 254
參考書目 255
序: