书籍详情

Clojure编程

Clojure编程

作者:(美)Chas Emerick(蔡司 埃默里克),Brian Carper(布赖恩 卡珀),Christophe Grand(克里斯托弗 格兰德)著 徐明明 杨寿勋 译

出版社:电子工业出版社

出版时间:2013-03-05

ISBN:9787121197185

定价:¥99.00

购买这本书可以去
内容简介
  《Clojure编程》中的Clojure是一种实用的通用语言,它是传奇语言LISP的方言,可与Ruby、Python等动态语言相媲美,更以无缝Java库、服务,以及拥有JVM系统得天独厚的资源优势而胜出。本书既可以用来熟悉Clojure基础知识与常见例子,也可了解其相关的实践领域与话题,更可以看到这一JVM平台上的LISP如何帮助消除不必要的复杂性,为大家在编程实践中解决最具挑战性的问题开辟新的选择——更具灵活性,更适于Web编程和操作数据库,可以应付更为苛刻的应用程序安全要求,更有效的并发性和并行处理、数据分析能力,以及在未来云环境下的更大的发展潜力。
作者简介
  Chas Emerick是软件公司Snowtide informatics的创始人。自2008年以来,致力于Clojure语言本身以及一些开源项目的开发;长期在cemerick.com撰写Clojure、软件开发实践、创业精神,及其他主题的文章。Brian Carper是一位心理学研究领域的专业程序员,用Clojure从事数据分析与web开发。他开发过一个把Clojure代码转化为CSS代码的编译器以及一个操作关系型数据库的类库,经常在briancarper.net上发表Clojure文章。Christophe Grand是一个独立顾问,现居法国里昂。他主要从事Clojure培训与编码,参与了Clojure语言的开发,撰写过Enlive和 Moustache类库,也是Counterclockwise——Clojure IDE for Eclipse的贡献者,经常在clj-me.cgrand.net上发表有关Clojure的文章。
目录
目录
第1章  进入Clojure仙境    1
为什么要选择Clojure?    1
获取Clojure    3
Clojure REPL    3
不!括号真的不会让你瞎了眼    6
表达式、操作符、语法以及优先级    7
同像性    10
Clojure Reader    12
命名空间    21
符号解析    23
特殊形式    24
小结    46
这只是开始    48
第1部分     49
第2章   函数式编程    51
所谓函数式编程,到底意味着什么?    52
谈谈值的重要性    52
作为头等公民的函数以及高阶函数    59
函数(功能)的组合    68
纯函数    76
现实生活中的函数式编程    80
第3章  集合类与数据结构    83
抽象优于实现    84
访问集合元素的简洁方式    111
数据结构的类型    115
不可变性和持久性    123
元数据    136
用Clojure的集合来小试牛刀    137
总结    159
第4章  多线程和并发    161
计算在时间和空间内的转换    162
简单的并行化    168
状态和标识    170
Clojure的引用类型    172
并发操作的分类    174
原子类型(Atom)    176
通知和约束    179
ref    182
var    200
Agent    211
使用Java的并发原语    227
总结    228
第2部分     229
第5 章  宏    231
宏到底是什么?    231
编写你的第一个宏    237
调试宏    239
语法    242
什么时候使用宏    245
宏卫生    247
宏的常见用法和模式    253
隐藏参数:&env 和 &form    255
深入 -> 和 ->>    263
总结    266
第6章  数据类型和协议    267
协议(Protocol)    268
扩展已有的类型    270
定义你自己的类型    274
实现协议    284
协议自省    293
协议函数分派的边界场景    295
自己实现一个set    296
总结    304
第7章  多重方法    305
多重方法基础    305
通往层级之路    308
层级    310
真正实现多重!    315
还有几件事    317
最后的思考    321
第3 部分     323
第8章  Clojure项目的组织与构建    325
项目布局    325
构建    339
最后的思考    355
第9章  Java及JVM互操作    357
JVM是Clojure的基础    358
Java类、方法和字段的使用    358
便利的互操作工具    361
异常与错误处理    363
为了效率进行类型提示    367
定义类、实现接口    372
在Java里使用Clojure    386
乐于合作的伙伴    393
第10章  面向REPL的编程    395
交互式开发    395
工具集    400
在REPL里调试、监测和打补丁    412
重定义结构的限制    416
小结    418
第4部分     419
第11章  数字与数学    421
Clojure的数字    421
Clojure数学    427
相等与等值    432
优化数值效率    436
用Clojure可视化芒德布罗集    448
第12章  设计模式    457
依赖注入    459
策略模式    462
责任链    463
面向方面的编程    466
最后的思考    470
第13章  测试    471
不可变值与纯函数    471
clojure.test    473
HTML DSL的成长    482
依赖断言    486
第14章  使用关系数据库    491
clojure.java.jdbc    491
Korma    498
Hibernate    503
最后的思考    510
第15章  使用非关系型数据库    511
安装CouchDB和Clutch    512
基本的CRUD操作    512
视图    513
_changes: 把CouchDB滥用做消息队列    519
可随意点选的消息队列    521
最后的思考    524
第16章  Clojure与Web    525
Clojure栈    525
基石:Ring    526
用Compojure路由请求    533
使用模板    543
最后的思考    552
第17章  布署Clojure Web应用程序    553
Java与Clojure Web架构    553
在本地运行Web应用    561
Web应用程序布署    562
超越简单Web应用程序布署    565
第5部分     567
第18章  明智地选择Clojure类型定义形式    569
第19章  在工作场所引进Clojure    573
只是事实…    573
强调生产效率    574
强调社群    576
审慎    577
第20章  下一步?    579
(dissoc Clojure ‘JVM)    579
4Clojure    580
Overtone    581
core.logic    581
Pallet    582
Avout    582
Heroku上的Clojure    583
关于作者    585
猜您喜欢

读书导航