![]() 作者:Chas Emerick/Brian Carper/Christophe Grand 出版社: 电子工业出版社 副标题: Java世界的Lisp实践 原作名: Clojure Programming 译者:徐明明/杨寿勋 出版年: 2013-3-26 页数: 618 定价: 99.00元 装帧: 平装 ISBN: 9787121197185 内容简介 · · · · · ·Clojure是一种实用的通用语言,它是传奇语言LISP的方言,可与Ruby、Python等动态语言相媲美,更以无缝Java库、服务,以及拥有JVM系统得天独厚的资源优势而胜出。本书既可以用来熟悉Clojure基础知识与常见例子,也可了解其相关的实践领域与话题,更可以看到这一JVM平台上的LISP如何帮助消除不必要的复杂性,为大家在编程实践中解决最具挑战性的问题开辟新的选择——更具灵活性,更适于Web编程和操作数据库,可以应付更为苛刻的应用程序安全要求,更有效的并发性和并行处理、数据分析能力,以及在未来云环境下的更大的发展潜力。 作者简介 · · · · · ·作者介绍: Chas Emerick是软件公司Snowtide informatics的创始人。自2008年以来,致力于Clojure语言本身以及一些开源项目的开发;长期在cemerick.com撰写Clojure、软件开发实践、创业精神,及其他主题的文章。 Brian Carpe r是一位心理学研究领域的专业程序员,用Clojure从事数据分析与web开发。他开发过一个把Clojure代码转化为CSS代码的编译器以及一个操作关系型数据库的类库,经常在briancarper.net上发表Clojure文章。 Christophe Grand是一个独立顾问,现居法国里昂。他主要从事Clojure培训与编码,参与了Clojure语言的开发,撰写过Enlive和 Moustache类库,也是Counterclockwise——Clojure IDE for... 目录 · · · · · ·第1章 进入Clojure仙境 1为什么要选择Clojure? 1 获取Clojure 3 Clojure REPL 3 不!括号真的不会让你瞎了眼 6 表达式、操作符、语法以及优先级 7 · · · · · ·() 第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 · · · · · · () "Clojure编程"试读 · · · · · · |
我很喜欢书,看的书越多,就会涉猎更广的书目
作者的思维的天马行空
一口气看完,真正是好书。
生动有趣的诠释了