勉強して2週間の感想

これはClojure Advent Calendar 2013 - Qiita [キータ]22日目の記事です。

 

プログラミング歴半年がClojureを勉強した感想を書きたいと思います。

 

まず私はプログラミング言語は主にjavaを勉強していて、Lispというものは、初めて知った次第です。

 

 

・コードが短い

最初の印象は、「えっ、これで動いちゃうの?」というかんじで

コードがすごく短くて驚きでしたね。

ものによっては、Javaの数行が1行になっちゃたり、すごいです、感動です、万歳。

 とテンション上がったのですが、

それから勉強を進めていくと、やはり思いました。

 

 

・カッコ多い

「うん、カッコめっちゃ多いね」

参考書の最初のほうでLispはカッコ地獄だよと脅されていたのですが、

やっぱり多い。

Clojureはカッコ少ないとか言ってるし、これで少ないとかLispすごいな。

あとコマンドプロンプトって間違いに気づいても戻れないから、何回も最初から書き直すハメに。

多少慣れてきたけど毎回カッコの確認作業です。

 

 

・束縛か配列か?

 参考書にこういうコードがありました。

(defn count-heads-pairs [coll]

  (loop [cnt 0 coll coll]

   (if (empty? coll)

    cnt

     (recur (if (= :h (first coll) (second coll))

                    (inc cnt)

                    cnt)

                 (rest coll)))))

 このloopの引数が最初4つの値を持つ配列だと思っちゃいました。

でもcntに0、collに同じ名前ですが1行前のcollを束縛していて、

値としては2つだったんですね。

[ ]←これが配列だよーって認識していました。

 

 

・最後に

アドベントカレンダーというものを知って参加してみたのですが、

あんまり面白いこと書けなくてすいません。

素直にClojureは面白いと感じました。

Javaと全然違うし、

参考書の言い回しを引用すると自然言語的にコードを書けるし、

遅延シーケンスとかすごいです。

これからも勉強がんばります!!