2010-11-11 33 views
18

我整個鳴叫走到今天:學習Clojure的閱讀core.clj

開始每天通過讀取Clojure的core.clj函數或宏的實現。

我Clojure的知識是非常基本的,我幾乎不能讀其他的Clojure的(或Lisp的)代碼。
我可以和core.clj做得很好嗎,特別是我覺得它充滿了複雜的宏?

+0

而已。做。它。我對Clojure的最喜歡的事情是,代碼和功能性風格的密度意味着我可以讀我用一切的每一行,並瞭解它及時。 – gtrak 2013-07-17 21:18:17

回答

21

我認爲一個更好的開始是通過做一個項目;任何你感興趣,看起來可以管理的東西都是好的。

core.clj現在不可讀;也許是後半部分,但是上半場我不希望任何人作爲對該語言的介紹。事實是,即使你仔細閱讀,如果沒有閱讀大量的Java代碼,你還是不清楚發生了什麼。

  • 進行異步的基於文本的遊戲(technomancy-菲爾Hagelburg,有一個很好的一個通過看他的Github上,雖然它是過時了一點現在)
  • 刮網站使用Enlive庫。
  • 也許只是解決一些數學問題,和/或
  • 使用圖形的東西Inc 012

打造第一。一旦你熟悉你正在使用的工具,開始閱讀它們。這裏所說的都寫得很好的庫(你不能出錯,由Christophe大事情,例如),並一旦你開始使用它們,你就會明白他們做什麼,這使得它更易於找出爲什麼如何以後。

2

有很多我不認識它,也有很多我這樣做,這是令人着迷的看着從最小的初始執行得到自舉的語言。

+0

是的。理解bootstrapping是一個很好的練習。但對初學者來說沒有什麼。特別是因爲核心是非常具有代表性的clojure代碼。完全是因爲引導。我寧願讀一些好的項目作爲練習。 – kotarak 2010-11-11 07:29:04

8

那鳴叫可能是,一旦你有足夠的經驗,能夠讀取Clojure的代碼以及足夠的瞭解是怎麼回事,一個偉大的想法。

這一點之前,我建議你寫了很多小的小程序獲得與語言非常熟悉。畢竟,最好是在幹中學。

我個人認爲Project Euler非常有用的,而我正在學習Clojure的。

+2

+1項目歐拉。多數民衆贊成我是如何學習clojure。 – dbyrne 2010-11-11 21:25:24

+0

Euler項目是學習Clojure基礎知識和一些貢獻的有趣方式,如果你有一點數學知識,我會說它是最好的第一步之一。儘管如此,儘管如此,我還是鼓勵繼續學習,因爲通過解決體育學習來學習語言的收益遞減。 – Isaac 2010-11-11 22:25:32

2

另一個尋找小項目讓你去的地方是任何卡塔回購。我個人最喜歡的是Coding Kata.org,但也有Coding Dojo,Ruby Koans(有一點翻譯力),當然也有Google

試着做一天中的一個,你會很快拿起語言。

5

您可能還會看看Clojure Koans,雖然它們可能會爲您的初學者定位,具體取決於您已知道多少Clojure。上述

0

的建議是很好的。邊學邊做的是通過良好的Ruby on Rails的創建者在這裏說明的另一個很好的例子:How Do I Learn to Program?我希望你有你關心,你可以只是去Clojure中的應用程序。

0

嘗試閱讀Clojure contrib庫或查看github上的一些Clojure項目,以獲得更好的習慣Clojure代碼感受。

0

我找到clojure.core的好辦法找到的東西是如何實現的,隨着越來越多的參考指南的想法。如前所述,早期的部分或者既不美觀也不是典型。然而,後面的部分可需要寫一個函數接近核心功能,但不同的尤其是當一個很好的例子。

3

作爲一個很好的起點,我會建議4Clojure。它看起來類似於Euler和Code Katas,但有更多的原諒學習曲線。

0

您需要的語言基礎知識,我創建的網站叫Clojurecademy對於初學者,所以你可以在那裏檢查Clojure的課程,主要是爲Codecademy網站Clojure的