## 開始吧
Clojure是一個相對來說很新的語言。在經過一些年的努力之后,Clojure的第一版是在2007年10月16日發布的。Clojure的主要部分被稱為 “Clojure proper” 或者 “core”。你可以從這里下載: [http://clojure.org/downloads](http://clojure.org/downloads) . 你也可以使用 [Leiningen](http://github.com/technomancy/leiningen/) 。最新的源代碼可以從它的Git庫下載.
“Clojure Contrib“是一個大家共享的類庫列表。其中有些類庫是成熟的,被廣泛使用的并且最終可能會被加入Clojure Proper的。但是也有些庫不是很成熟,沒有被廣泛使用,所以也就不會被包含在Conjure Proper里面。所以Clojure Proper里面是魚龍混雜,使用的時候要自己斟酌,文檔在這里: [http://richhickey.github.com/clojure-contrib/index.html](http://richhickey.github.com/clojure-contrib/index.html)
對于一個Clojure Contrib, 有三種方法可以得到對應的jar包. 首先你可以下載一個打包好的jar包。其次你可以用maven 來自己打個jar包. Maven可以從這里下載 [http://maven.apache.org/](http://maven.apache.org/) . 打包命令是 “ `mvn package` “. 再其次你可以用ant. ant可以從這里下載 [http://ant.apache.org/](http://ant.apache.org/) 。命令是: “ `ant -Dclojure.jar={path}` “.
要從最小的源代碼來編譯clojure, 我們假設你已經安裝了 [Git](http://git-scm.com/) 和 [Ant](http://ant.apache.org/) , 運行下面的命令來下載并且編譯打包Clojure Proper和Clojure Contrib:
```
git clone git://github.com/richhickey/clojure.git
cd clojure
ant clean jar
cd ..
git clone git://github.com/richhickey/clojure-contrib.git
cd clojure-contrib
ant -Dclojure.jar=../clojure/clojure.jar clean jar
```
下一步,寫一個腳本來運行Read/Eval/Print Loop (REPL) 以及運行 Clojure 程序. 這個腳本通常被命名為”clj”. 怎么使用REPL我們等會再介紹. Windows下面,最簡單的clj腳本是這樣的(UNIX, Linux以及 Mac OS X下面把 %1 改成 $1):
```
java -jar /path/clojure.jar %1
```
這個腳本假定 `java` 在你的 `PATH` 環境變量里面. 為了讓這個腳本更加有用:
* 把經常使用的JAR包比如 “Clojure Contrib” 以及數據庫driver添加到classpath里面去( `-cp` ).
* 使clj更好用:用 [rlwrap](http://utopia.knoware.nl/~hlub/uck/rlwrap/) (利用keystrokes來支持的) 或者 [JLine](http://jline.sourceforge.net/) 來得到命令提示以及命令歷史提示。
* 添加一個啟動腳本來設置一些特殊變量(比如 `*print-length*和` `*print-level*` ), 加載一些常用的、不再 `java.lang 里面的包` 加載一些常用的不再 `clojure.core` 里面的函數并且定義一些常用自定義的函數.
使用這個腳本來啟動REPL我們會等會介紹. 用下面這個命令來運行一個clojure腳本(通常以clj為后綴名):
```
clj source-file-path
```
更多細節看這里 [http://clojure.org/getting_started](http://clojure.org/getting_started) 以及這里: [http://clojure.org/repl_and_main](http://clojure.org/repl_and_main) 。同時Stephen Gilardi 還提供了一個腳本: [http://github.com/richhickey/clojure-contrib/raw/master/launchers/bash/clj-env-dir](http://github.com/richhickey/clojure-contrib/raw/master/launchers/bash/clj-env-dir) 。
為了更充分的利用機器的多核,你應該這樣來調用: “ `java -server ...` “.
提供給Clojure的命令行參數被封裝在預定義的變量 `*command-line-args*里面。`