在 Blip.tv 上观看尽可能多的Clojure视频是不会出错的,尤其是 Rich Hickey 本人的视频。这些确实有助于理解 Clojure 独有的概念点和方面。
如果您对 Lisp 概念足够熟悉,您可能希望最初专注于学习 Clojure 如何“映射”到您使用过的 Lisp。观看 Rich Hickey 的“Clojure for Lisp Programmers”视频。
您确实需要熟悉 Java,因为 Clojure 不会回避使用它。在智能的地方使用 Java 并不是不符合 Clojurey 的(据我所知)。我至少会浏览一下 和 包的API文档,因为它在您的 Clojure 程序中自动可用并且经常使用。java.lang
java.io
java.lang
java.io
有了我的 Clojure-to-Lisp 字典和我的 Java 基础知识,我会选择一个小项目来处理. 将 Clojure 和 Clojure-contrib API 文档放在手边(在 Web 上或使用 REPL 中的 (doc) 命令),并仔细阅读那里的许多 Clojure 博客。我最喜欢的两个是http://nakkaya.com/和http://stuartsierra.com/。如果您使用 Diigo,大量博客已被收藏到clojure 组。
注意:不要挂断您的开发环境。入门 wiki 页面上列出了许多选项。为了学习 Clojure 和你的第一个小项目,我会选择你选择的纯文本编辑器,学习和使用Leiningen的基础知识来获得一个很好的项目目录设置,并处理好你的所有路径和依赖项,然后使用命令“ lein repl" 启动一个 REPL 并加载所有依赖项并可用。假设您使用 Emacs(基于您之前的 Lisp 经验),您可以describe-variable
成为inferior-lisp-program
,lein repl
并且只需从示例项目的根目录启动 Emacs,一切都可以自动运行。
您可以阅读一些书籍,尤其是 The Joy of Clojure、Programming Clojure 和 Practical Clojure。后两者比第一个更“实用”,后者更“哲学”(请原谅粗略的概括)。实用 Clojure 与 Clojure 1.2 是最新的,而编程 Clojure 有点老。
最后,进入#clojure IRC 频道并使用 Clojure Google 群组,因为这里有一群聪明、友好的人,他们乐于帮助他人。