注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語(yǔ)言/工具Clojure程序設(shè)計(jì)

Clojure程序設(shè)計(jì)

Clojure程序設(shè)計(jì)

定 價(jià):¥49.00

作 者: (美)Stuart Halloway Aaron Bedra 著,溫瑞云 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò)

ISBN: 9787115308474 出版時(shí)間: 2013-04-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 255 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  Clojure是一種基于Java虛擬機(jī)的動(dòng)態(tài)編程語(yǔ)言。它功能強(qiáng)大,支持函數(shù)式編程,簡(jiǎn)化了并發(fā)編程,并且能調(diào)用Java程序。正是這些優(yōu)點(diǎn),使其贏得了眾多程序員的青睞?!禖lojure程序設(shè)計(jì)》是介紹Clojure編程語(yǔ)言和程序設(shè)計(jì)的經(jīng)典之作。第2版針對(duì)Clojure1.3進(jìn)行了全面的更新。全書(shū)共包括10章,分別介紹了Clojure概覽和基本特性、序列和函數(shù)式編程、并發(fā)編程模型、協(xié)議和數(shù)據(jù)類型、宏、多重方法,以及Clojure對(duì)Java的調(diào)用。最后提供了一個(gè)完整了解Clojure應(yīng)用開(kāi)發(fā)全過(guò)程的實(shí)例?!禖lojure程序設(shè)計(jì)》適合有不同語(yǔ)言背景而想要學(xué)習(xí)和了解Clojure編程的程序員閱讀。函數(shù)式程序員、Java和C#程序員、Lisp程序員,以及Perl、Python和Ruby程序員,都能夠通過(guò)閱讀本書(shū)得到不同程度的收獲。

作者簡(jiǎn)介

  Stuart Halloway Clojure/core成員、Relevance公司CTO。 Aaron BedraClojure/core成員,在擔(dān)任Relevance公司開(kāi)發(fā)者期間,他成為一名技術(shù)領(lǐng)袖、演講家和作家。他對(duì)Clojure語(yǔ)言及其支持庫(kù)貢獻(xiàn)頗多,同時(shí)也是Clojure社區(qū)中的活躍分子。Aaron牽頭開(kāi)發(fā)了一些商業(yè)的Clojure項(xiàng)目。目前他在Groupon工作。

圖書(shū)目錄

第1章 啟航
1.1 為什么是Clojure
1.1.1 Clojure非常優(yōu)雅
1.1.2 Clojure是Lisp的再度崛起
1.1.3 為什么是Lisp
1.1.4 它是Lisp,但括號(hào)少了
1.1.5 Clojure是函數(shù)式語(yǔ)言
1.1.6 Clojure簡(jiǎn)化了并發(fā)編程
1.1.7 Clojure與Java虛擬機(jī)彼此親密無(wú)間
1.2 Clojure編程快速入門
1.2.1 使用REPL
1.2.2 特殊變量
1.2.3 添加共享狀態(tài)
1.3 探索Clojure的程序庫(kù)
1.3.1 require和use
1.3.2 查找文檔
1.4 小結(jié) 第2章 探索Clojure
2.1 形式
2.1.1 使用數(shù)值類型
2.1.2 符號(hào)
2.1.3 字符串與字符
2.1.4 布爾值與nil
2.1.5 映射表、關(guān)鍵字和記錄
2.2 讀取器宏
2.3 函數(shù)
2.3.1 匿名函數(shù)
2.3.2 何時(shí)使用匿名函數(shù)
2.4 變量、綁定和命名空間
2.4.1 綁定
2.4.2 解構(gòu)
2.4.3 命名空間
2.5 調(diào)用Java
2.5.1 訪問(wèn)構(gòu)造函數(shù)、方法和字段
2.5.2 Javadoc
2.6 流程控制
2.6.1 分支結(jié)構(gòu)與if
2.6.2 用do引入副作用
2.6.3 循環(huán)與loop/recur
2.7 我的for循環(huán)哪兒去了
2.8 元數(shù)據(jù)
2.9 小結(jié) 第3章 一切皆序列
3.1 一切皆序列
3.2 使用序列庫(kù)
3.2.1 創(chuàng)建序列
3.2.2 過(guò)濾序列
3.2.3 序列謂詞
3.2.4 序列轉(zhuǎn)換
3.3 惰性和無(wú)限序列
3.4 Java亦可序化
3.4.1 序化Java容器
3.4.2 序化正則表達(dá)式
3.4.3 序化文件系統(tǒng)
3.4.4 序化流
3.4.5 序化XML
3.5 調(diào)用特定于結(jié)構(gòu)的函數(shù)
3.5.1 列表函數(shù)
3.5.2 向量函數(shù)
3.5.3 映射表函數(shù)
3.5.4 集合函數(shù)
3.6 小結(jié) 第4章 函數(shù)式編程
4.1 函數(shù)式編程理念
4.1.1 純函數(shù)
4.1.2 持久性數(shù)據(jù)結(jié)構(gòu)
4.1.3 惰性和遞歸
4.1.4 引用透明性
4.1.5 FP的優(yōu)勢(shì)
4.1.6 6條規(guī)則
4.2 怎樣偷個(gè)懶
4.2.1 尾遞歸
4.2.2 自遞歸與recur
4.2.3 惰性序列
4.2.4 聊聊變現(xiàn)
4.2.5 丟棄頭元素
4.3 懶上加懶
4.4 再議遞歸
4.4.1 轉(zhuǎn)換為自遞歸
4.4.2 采用Trampolining技術(shù)
4.4.3 用惰性化替代遞歸
4.4.4 用快存為遞歸抄條近路
4.5 小結(jié) 第5章 狀態(tài)
5.1 并發(fā)、并行和鎖定
5.2 引用與軟事務(wù)內(nèi)存
5.2.1 ref-set
5.2.2 事務(wù)的屬性
5.2.3 alter
5.2.4 STM的工作原理:MVCC
5.2.5 commute
5.2.6 alter優(yōu)先
5.2.7 為引用添加驗(yàn)證
5.3 使用原子進(jìn)行非協(xié)同、同步的更新
5.4 使用代理進(jìn)行異步更新
5.4.1 代理的驗(yàn)證與錯(cuò)誤處理
5.4.2 在事務(wù)中包含代理
5.4.3 統(tǒng)一的更新模型
5.5 用變量管理線程內(nèi)狀態(tài)
5.5.1 遠(yuǎn)距離作用
5.5.2 用于Java回調(diào)API
5.6 Clojure貪吃蛇
5.6.1 函數(shù)式模型
5.6.2 使用STM建立可變模型
5.6.3 貪吃蛇的GUI
5.6.4 沒(méi)有引用的貪吃蛇
5.7 小結(jié) 第6章 協(xié)議和數(shù)據(jù)類型
6.1 針對(duì)抽象編程
6.2 接口
6.3 協(xié)議
6.4 數(shù)據(jù)類型
6.5 記錄
6.6 具體化
6.7 小結(jié) 第7章 宏
7.1 何時(shí)使用宏
7.2 編寫流程控制宏
7.2.1 特殊形式、設(shè)計(jì)模式和宏
7.2.2 宏展開(kāi)
7.2.3 when與when-not
7.3 讓宏更加簡(jiǎn)單
7.3.1 語(yǔ)法引述、解引述和解引述拼接
7.3.2 在宏內(nèi)部創(chuàng)建名稱
7.4 宏的分類
7.4.1 有條件的求值
7.4.2 創(chuàng)建變量
7.4.3 Java互操作
7.4.4 延遲求值
7.4.5 對(duì)求值進(jìn)行包裝
7.4.6 避免Lambda表達(dá)式
7.5 小結(jié) 第8章 多重方法
8.1 沒(méi)有多重方法的日子
8.2 定義多重方法
8.2.1 調(diào)度是繼承感知的
8.2.2 多重方法的默認(rèn)值
8.3 調(diào)度不簡(jiǎn)單
8.4 創(chuàng)建特設(shè)分類法
8.5 何時(shí)應(yīng)該使用多重方法
8.5.1 Inspector
8.5.2 clojure.test
8.5.3 反例
8.6 小結(jié) 第9章 極盡Java之所能
9.1 異常處理
9.1.1 保持簡(jiǎn)單的異常處理
9.1.2 清理資源
9.1.3 響應(yīng)異常
9.2 與整數(shù)搏斗
9.3 性能優(yōu)化
9.3.1 使用基本類型提升性能
9.3.2 添加類型提示
9.4 在Clojure中創(chuàng)建Java類
9.4.1 創(chuàng)建Java代理
9.4.2 使用Java容器
9.5 真實(shí)世界的例子
9.5.1 真正的持續(xù)循環(huán)
9.5.2 日志
9.5.3 配置
9.6 小結(jié) 第10章 搭建應(yīng)用
10.1 為電碼譯員游戲計(jì)分
10.2 測(cè)試計(jì)分器
10.2.1 手工構(gòu)造輸入
10.2.2 運(yùn)行測(cè)試
10.2.3 驗(yàn)證輸出
10.2.4 回歸測(cè)試
10.3 test.generative
10.3.1 生成數(shù)據(jù)
10.3.2 程序化驗(yàn)證
10.3.3 defspec
10.3.4 運(yùn)行測(cè)試
10.3.5 規(guī)格執(zhí)行失敗時(shí)
10.3.6 計(jì)分函數(shù)的產(chǎn)生式測(cè)試
10.4 創(chuàng)建用戶界面
10.4.1 該是時(shí)候處理狀態(tài)了
10.4.2 玩家界面
10.5 部署代碼
10.5.1 Procfile
10.5.2 Heroku庫(kù)
10.5.3 Git
10.5.4 安置你的應(yīng)用
10.5.5 部署
10.6 小結(jié)
附錄 編輯器
參考書(shū)目

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)