作者: Stuart Halloway
出版社: Pragmatic Bookshelf
出版年: 2009-03-15
页数: 304
定价: USD 32.95
装帧: Paperback
ISBN: 9781934356333
出版社: Pragmatic Bookshelf
出版年: 2009-03-15
页数: 304
定价: USD 32.95
装帧: Paperback
ISBN: 9781934356333
内容简介 · · · · · ·
Clojure is a dynamic language for the Java Virtual Machine, with a compelling combination of features:
Clojure is elegant. Clojure’s clean, careful design lets you write programs that get right to the essence of a problem, without a lot of clutter and ceremony.
Clojure is Lisp reloaded. Clojure has the power inherent in Lisp, but is not constrained by the history of Lisp.
Cloju... (展开全部) Clojure is a dynamic language for the Java Virtual Machine, with a compelling combination of features:
Clojure is elegant. Clojure’s clean, careful design lets you write programs that get right to the essence of a problem, without a lot of clutter and ceremony.
Clojure is Lisp reloaded. Clojure has the power inherent in Lisp, but is not constrained by the history of Lisp.
Clojure is a functional language. Data structures are immutable, and functions tend to be side-effect free. This makes it easier to write correct programs, and to compose large programs from smaller ones.
Clojure is concurrent. Rather than error-prone locking, Clojure provides software transactional memory.
Clojure embraces Java. Calling from Clojure to Java is direct, and goes through no translation layer.
Clojure is fast. Wherever you need it, you can get the exact same performance that you could get from hand-written Java code.
Many other languages offer some of these features, but the combination of them all makes Clojure sparkle. Programming Clojure shows you why these features are so important, and how you can use Clojure to build powerful programs quickly.
Clojure is elegant. Clojure’s clean, careful design lets you write programs that get right to the essence of a problem, without a lot of clutter and ceremony.
Clojure is Lisp reloaded. Clojure has the power inherent in Lisp, but is not constrained by the history of Lisp.
Cloju... (展开全部) Clojure is a dynamic language for the Java Virtual Machine, with a compelling combination of features:
Clojure is elegant. Clojure’s clean, careful design lets you write programs that get right to the essence of a problem, without a lot of clutter and ceremony.
Clojure is Lisp reloaded. Clojure has the power inherent in Lisp, but is not constrained by the history of Lisp.
Clojure is a functional language. Data structures are immutable, and functions tend to be side-effect free. This makes it easier to write correct programs, and to compose large programs from smaller ones.
Clojure is concurrent. Rather than error-prone locking, Clojure provides software transactional memory.
Clojure embraces Java. Calling from Clojure to Java is direct, and goes through no translation layer.
Clojure is fast. Wherever you need it, you can get the exact same performance that you could get from hand-written Java code.
Many other languages offer some of these features, but the combination of them all makes Clojure sparkle. Programming Clojure shows you why these features are so important, and how you can use Clojure to build powerful programs quickly.
作者简介 · · · · · ·
Stuart Halloway is a co-founder and CEO of Relevance, Inc. Relevance provides development, consulting, and training services based around agile methods and leading-edge technologies such as Ruby and Clojure. Stuart has authored several other books including Component Development for the Java Platform and Rails for Java Developers.
豆瓣成员常用的标签(共26个) · · · · · ·
喜欢读"Programming Clojure"的人也喜欢 · · · · · ·
按有用程度 按页码先后 最新笔记
-
第34页
西粉 (狂躁症是绝症)
好不容易搞清了怎样进入RELP , 怎样load 一个 script 进去, 但是````我发现没有编译器支持clojure的语法着色, 貌似网上有VIM 和 EMACS 的东东, 懒得看, 本来vim和emacs的配置我就是弱项````现阶段就只有用没有语法着色的vim写了, 对了,我是win下的, 34页看的我头疼, 上网查有的书上刚开始就说什么ant什么东东的, 我Java根本不懂啊亲!!!! 什么jar什么东东的,我完全不知道下载下来的clojure该怎么办, 只能抄了网上一个批处理, 好歹能... (更多)好不容易搞清了怎样进入RELP , 怎样load 一个 script 进去, 但是````我发现没有编译器支持clojure的语法着色, 貌似网上有VIM 和 EMACS 的东东, 懒得看, 本来vim和emacs的配置我就是弱项````现阶段就只有用没有语法着色的vim写了, 对了,我是win下的, 34页看的我头疼, 上网查有的书上刚开始就说什么ant什么东东的, 我Java根本不懂啊亲!!!! 什么jar什么东东的,我完全不知道下载下来的clojure该怎么办, 只能抄了网上一个批处理, 好歹能进入RELP了,先慢慢玩着吧`````唉, 作为菜鸟我很伤心啊 (收起)2011-12-23 23:42:09 回应
-
第152页
湖爷洞 (想做的事太多,肯做的事太少..)
1. 避免使用直接递归. JVM 无法优化递归调用, 而 Clojure 递归程序也会打击它们的堆栈.(他们?) 2. 当生成一个标量值[scalar values]或者小的长度固定的序列时, 要使用recur(函数).Clojure 可以优化一个显式的recur(函数)调用. 3. 当生成一个大的或者长度可变的序列时, 向来都是要懒的[always be lazy](不使用循环).然后调用器者可以只消耗序列实际需要的部分.(内存?) 4. 不要生成一个大于你实际需要的惰性队列[a lazy sequence]... (更多)1. 避免使用直接递归. JVM 无法优化递归调用, 而 Clojure 递归程序也会打击它们的堆栈.(他们?)2. 当生成一个标量值[scalar values]或者小的长度固定的序列时, 要使用recur(函数).Clojure 可以优化一个显式的recur(函数)调用.3. 当生成一个大的或者长度可变的序列时, 向来都是要懒的[always be lazy](不使用循环).然后调用器者可以只消耗序列实际需要的部分.(内存?)4. 不要生成一个大于你实际需要的惰性队列[a lazy sequence], 这点要注意.5. 熟悉序列库.你可以经常写出完全不使用recur(函数)或者懒惰API[the lazy APIs]的代码来.6. 细分. 将那些即使看起来很简单的问题分割成更小的片段.之后你就能经常在序列库中找到解决方案了, 这些方案会催生出更多的通用的,可重用的代码来.法则 5 和 6 尤其重要. 如果你是个FP新手, 你可以这么理解他们: "忽略本章内容, 只使用第4章 Unifying Data with Sequences (在第111页)中的技术, 直到你碰上钉子"与诸多法则类似, 法则6是指引而不是绝对的.当你成为FP老鸟的时候, 你就可以找出适当的理由来打破这个法则了. (收起)2011-11-17 13:17:48 回应
-
第34页
西粉 (狂躁症是绝症)
好不容易搞清了怎样进入RELP , 怎样load 一个 script 进去, 但是````我发现没有编译器支持clojure的语法着色, 貌似网上有VIM 和 EMACS 的东东, 懒得看, 本来vim和emacs的配置我就是弱项````现阶段就只有用没有语法着色的vim写了, 对了,我是win下的, 34页看的我头疼, 上网查有的书上刚开始就说什么ant什么东东的, 我Java根本不懂啊亲!!!! 什么jar什么东东的,我完全不知道下载下来的clojure该怎么办, 只能抄了网上一个批处理, 好歹能... (更多)好不容易搞清了怎样进入RELP , 怎样load 一个 script 进去, 但是````我发现没有编译器支持clojure的语法着色, 貌似网上有VIM 和 EMACS 的东东, 懒得看, 本来vim和emacs的配置我就是弱项````现阶段就只有用没有语法着色的vim写了, 对了,我是win下的, 34页看的我头疼, 上网查有的书上刚开始就说什么ant什么东东的, 我Java根本不懂啊亲!!!! 什么jar什么东东的,我完全不知道下载下来的clojure该怎么办, 只能抄了网上一个批处理, 好歹能进入RELP了,先慢慢玩着吧`````唉, 作为菜鸟我很伤心啊 (收起)2011-12-23 23:42:09 回应
-
第34页
西粉 (狂躁症是绝症)
好不容易搞清了怎样进入RELP , 怎样load 一个 script 进去, 但是````我发现没有编译器支持clojure的语法着色, 貌似网上有VIM 和 EMACS 的东东, 懒得看, 本来vim和emacs的配置我就是弱项````现阶段就只有用没有语法着色的vim写了, 对了,我是win下的, 34页看的我头疼, 上网查有的书上刚开始就说什么ant什么东东的, 我Java根本不懂啊亲!!!! 什么jar什么东东的,我完全不知道下载下来的clojure该怎么办, 只能抄了网上一个批处理, 好歹能... (更多)好不容易搞清了怎样进入RELP , 怎样load 一个 script 进去, 但是````我发现没有编译器支持clojure的语法着色, 貌似网上有VIM 和 EMACS 的东东, 懒得看, 本来vim和emacs的配置我就是弱项````现阶段就只有用没有语法着色的vim写了, 对了,我是win下的, 34页看的我头疼, 上网查有的书上刚开始就说什么ant什么东东的, 我Java根本不懂啊亲!!!! 什么jar什么东东的,我完全不知道下载下来的clojure该怎么办, 只能抄了网上一个批处理, 好歹能进入RELP了,先慢慢玩着吧`````唉, 作为菜鸟我很伤心啊 (收起)2011-12-23 23:42:09 回应
-
第152页
湖爷洞 (想做的事太多,肯做的事太少..)
1. 避免使用直接递归. JVM 无法优化递归调用, 而 Clojure 递归程序也会打击它们的堆栈.(他们?) 2. 当生成一个标量值[scalar values]或者小的长度固定的序列时, 要使用recur(函数).Clojure 可以优化一个显式的recur(函数)调用. 3. 当生成一个大的或者长度可变的序列时, 向来都是要懒的[always be lazy](不使用循环).然后调用器者可以只消耗序列实际需要的部分.(内存?) 4. 不要生成一个大于你实际需要的惰性队列[a lazy sequence]... (更多)1. 避免使用直接递归. JVM 无法优化递归调用, 而 Clojure 递归程序也会打击它们的堆栈.(他们?)2. 当生成一个标量值[scalar values]或者小的长度固定的序列时, 要使用recur(函数).Clojure 可以优化一个显式的recur(函数)调用.3. 当生成一个大的或者长度可变的序列时, 向来都是要懒的[always be lazy](不使用循环).然后调用器者可以只消耗序列实际需要的部分.(内存?)4. 不要生成一个大于你实际需要的惰性队列[a lazy sequence], 这点要注意.5. 熟悉序列库.你可以经常写出完全不使用recur(函数)或者懒惰API[the lazy APIs]的代码来.6. 细分. 将那些即使看起来很简单的问题分割成更小的片段.之后你就能经常在序列库中找到解决方案了, 这些方案会催生出更多的通用的,可重用的代码来.法则 5 和 6 尤其重要. 如果你是个FP新手, 你可以这么理解他们: "忽略本章内容, 只使用第4章 Unifying Data with Sequences (在第111页)中的技术, 直到你碰上钉子"与诸多法则类似, 法则6是指引而不是绝对的.当你成为FP老鸟的时候, 你就可以找出适当的理由来打破这个法则了. (收起)2011-11-17 13:17:48 回应
书评 · · · · · · 我来评论这本书
热门评论 最新评论
学习 Clojure 编程的极佳入门书!
-
- Robert 极为生动地引诱你爱上来自下个世纪的语言 Clojure (By Howard Lewiship) 。 从一开始就展现了 Clojure 的各种迷人特点,特别适合 Java 程序员。...... (2回应)2010-02-23 1/1有用
想象之中啊....木有那么强力.
-
- 四季(嗯哼 不如不见) 想象之中啊....木有那么强力. 不是那么NB的感觉....写的很乱. 理不出头绪. 英语差是主要... 如果可以的话 建议去看别的... Clojure in Action 据说还行 最近工作忙没有时间看.........2011-09-02
"Programming Clojure"的论坛 · · · · · ·
| Clojure极限编程:10分钟,91行代码,克隆reddit | 来自Allen | 1 回应 | 2010-02-04 |
| 正式版要发布了? | 来自琳琳的小狗 | 3 回应 | 2009-07-08 |
- > 点这儿转让 有86人想读,手里有一本闲着?
以下豆列推荐 · · · · · · (全部)
- 通向Lisp之路 (fzwudc)
- LISP & FPL (FTS.)
- The Pragmatic Bookshelf 2009 (juvenxu)
- 2011读书 (r2g2)
- !~jee & web architecture (∫跬步→千里)
谁读这本书?
喜欢这本书的人关注的活动 · · · · · ·
订阅关于Programming Clojure的评论:
feed: rss 2.0











