搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Clojure编程
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121197185
  • 作      者:
    Chas Emerick,Brian Carper,Christophe Grand著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2013
收藏
编辑推荐
  

  《Clojure编程》基于新版,提供大量优良的样本代码,可让读者在快速入门、提高的同时,并不遗漏必要的初级概念。抛开Clojure不谈,这也是一本值得推荐的编程语言书籍。
  或许你现在还不能充分理解Clojure和函数式编程的精髓,或许目前的日常工作还用不到Clojure,但这绝对是一个值得你重视的主题,本书据此精心设计。作者在这一领域有足够的发言权,有能力引导读者从下载/安装开始学起,直到掌握用起进行web开发。
  《Clojure编程》写作精良,平易近人,具有非常良好的“信噪比”,可谓最实用而全面的Clojure图书,对 Clojure的状态、标识及并发理念,函数式编程以及Clojure生态系统都有完整阐述。如果有人问你“我应该读什么书上的Clojure“,你可以坚定地指向它!

展开
作者简介

  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的文章。

展开
内容介绍

  《Clojure编程》中的Clojure是一种实用的通用语言,它是传奇语言LISP的方言,可与Ruby、Python等动态语言相媲美,更以无缝Java库、服务,以及拥有JVM系统得天独厚的资源优势而胜出。本书既可以用来熟悉Clojure基础知识与常见例子,也可了解其相关的实践领域与话题,更可以看到这一JVM平台上的LISP如何帮助消除不必要的复杂性,为大家在编程实践中解决最具挑战性的问题开辟新的选择——更具灵活性,更适于Web编程和操作数据库,可以应付更为苛刻的应用程序安全要求,更有效的并发性和并行处理、数据分析能力,以及在未来云环境下的更大的发展潜力。

展开
精彩书评

  “O’Reilly Radar 博客有口皆碑。”
  ——Wired

 

  “O’Reilly 凭借一系列(真希望当初我也想到了)非凡想法建立了数百万美元的业
  务。”
  ——Business 2.0

 

  “O’Reilly Conference 是聚集关键思想领袖的绝对典范。”
  ——CRN

 

  “一本O’Reilly 的书就代表一个有用、有前途、需要学习的主题。”
  ——Irish Times

 

  “Tim 是位特立独行的商人,他不光放眼于最长远、最广阔的视野并且切实地按照
  Yogi Berra 的建议去做了:‘如果你在路上遇到岔路口,走小路(岔路)。’回顾过去
  Tim 似乎每一次都选择了小路,而且有几次都是一闪即逝的机会,尽管大路也不错。”
  ——Linux Journal

展开
精彩书摘

  Clojure编程
  为什么选择Clojure?因为这个函数式编程语言不仅让你可以利用已有的Java类库、服务以及其它JVM平台资源,而且它能够跟其它动态语言如Ruby、Python相匹敌。有了本书的详细介绍,你可以通过一些示例来学习Clojure的基本原理,而这些示例会跟你已经熟悉的语言有关,示例所涉及的领域以及主题也是你每天工作都会接触到的。

  我们通过一些日常的任务来探索Clojure的灵活性,比如web编程、操作最流行的数据库等等。你会很快看到这门语言是如何帮你消除编程实践中的不必要的复杂性,并且给我们提供了解决困难问题的新的思路 -- 包括多线程编程。

  * 使用Clojure不会浪费你在Java平台上的已有投资
  * 理解Clojure作为JVM上的一门高效LISP方言的优势
  * 学习函数式编程如何帮忙消除常见的问题和错误
  * 通过久经考验的工具使得并发多线程编程更可追踪、更可靠
  * 消除代码对于冗长而复杂的设计模式的依赖
  * 利用宏、数据、协议以及多重方法来构建抽象
  * 部署大型web应用到成百上千个云节点

  Chas Emerick(cemerick.com)
  Snowtide Informatics公司创始人,参与开发了Clojure语言本身以及很多的开源项目。

  Brian Carper(briancarper.net)
  心理学研究领域的职业程序员,创建了一个把Clojure代码编译成CSS代码的编译器以及一个操作关系型数据库的类库。

  Christophe Grand(clj-me.cgrand.net)
  活跃于法国里昂附近的独立咨询师,参与开发了Clojure语言;创建了Enlive和Moustache这两个类库。
  ……

展开
目录

第1章  进入Clojure仙境

为什么要选择Clojure?

获取Clojure

Clojure REPL

不!括号真的不会让你瞎了眼

表达式、操作符、语法以及优先级

同像性

Clojure Reader

命名空间

符号解析

特殊形式

小结

这只是开始

第1部分

第2章   函数式编程

所谓函数式编程,到底意味着什么?

谈谈值的重要性

作为头等公民的函数以及高阶函数

函数(功能)的组合

纯函数

现实生活中的函数式编程

第3章  集合类与数据结构

抽象优于实现

访问集合元素的简洁方式

数据结构的类型

不可变性和持久性

元数据

用Clojure的集合来小试牛刀

总结

第4章  多线程和并发

计算在时间和空间内的转换

简单的并行化

状态和标识

Clojure的引用类型

并发操作的分类

原子类型(Atom)

通知和约束

ref

var

Agent

使用Java的并发原语

总结

第2部分

第5 章  宏

宏到底是什么?

编写你的第一个宏

调试宏

语法

什么时候使用宏

宏卫生

宏的常见用法和模式

隐藏参数:&env 和 &form

深入 -> 和 ->>

总结

第6章  数据类型和协议

协议(Protocol)

扩展已有的类型

定义你自己的类型

实现协议

协议自省

协议函数分派的边界场景

自己实现一个set

总结

第7章  多重方法

多重方法基础

通往层级之路

层级

真正实现多重!

还有几件事

最后的思考

第3 部分

第8章  Clojure项目的组织与构建

项目布局

构建

最后的思考

第9章  Java及JVM互操作

JVM是Clojure的基础

Java类、方法和字段的使用

便利的互操作工具

异常与错误处理

为了效率进行类型提示

定义类、实现接口

在Java里使用Clojure

乐于合作的伙伴

第10章  面向REPL的编程

交互式开发

工具集

在REPL里调试、监测和打补丁

重定义结构的限制

小结

第4部分

第11章  数字与数学

Clojure的数字

Clojure数学

相等与等值

优化数值效率

用Clojure可视化芒德布罗集

第12章  设计模式

依赖注入

策略模式

责任链

面向方面的编程

最后的思考

第13章  测试

不可变值与纯函数

clojure.test

HTML DSL的成长

依赖断言

第14章  使用关系数据库

clojure.java.jdbc

Korma

Hibernate

最后的思考

第15章  使用非关系型数据库

安装CouchDB和Clutch

基本的CRUD操作

视图

_changes: 把CouchDB滥用做消息队列

可随意点选的消息队列

最后的思考

第16章  Clojure与Web

Clojure栈

基石:Ring

用Compojure路由请求

使用模板

最后的思考

第17章  布署Clojure Web应用程序

Java与Clojure Web架构

在本地运行Web应用

Web应用程序布署

超越简单Web应用程序布署

第5部分

第18章  明智地选择Clojure类型定义形式

第19章  在工作场所引进Clojure

只是事实…

强调生产效率

强调社群

审慎

第20章  下一步?

(dissoc Clojure 'JVM)

4Clojure

Overtone

core.logic

Pallet

Avout

Heroku上的Clojure

关于作者

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证