さめたコーヒー

kbaba1001's blog.

プログラミング Clojure 第2版を読み終えた

プログラミングClojure 第2版

プログラミングClojure 第2版

読み終えたといっても流し読みなので、半分くらいはぱらぱらページをめくっただけ。 Amazonのレビューにもあるけど、この本は内容が結構高度なので初学者が読んでもすぐに理解できるものではないようだ。 最近の僕の読書のやり方は「とりあえず最後まで読む」なので、理解に時間がかかりそうなところは飛ばすことにした。 並列処理とか multi method などの便利な機能は、はじめから使いこなせなくてもプログラミングはできるはずだし。

それにしてもスゴイ言語だ。なんでもっと流行らないんだろうか。 「Lispだから」という部分はあまり意識しなくてもいいように感じた。 Clojure は色々なことがなるべく楽に書けるように配慮されている感じだった。 それでいて、利便性やパフォーマンスは犠牲になっていないように思う。 Javaの機能を使うのも簡単にできるように出来ている。

また、動的型付け言語というのもそこまで気にする必要はないように思う。 だって型推論に型ヒントを渡す事ができるから、型を宣言できるのだ。 基本的に型は宣言せずにダックタイピングを行えるようになっているけど、 型を宣言したかったらしてもいいらしい。 型を宣言するとコンパイルが早くなるというメリットもある。

Clojureオブジェクト指向はやりづらいのかもしれないけど、そこは考え方を変えていけばいいと思う。 近頃の僕のRubyの書き方(つまりHanamiのようなアプローチ)は、コマンドパターンを使いまくっていて、なんだかあまりオブジェクト指向らしくない。 lambdaも多用するようになっていたこともあって、何かもっと別のアプローチをできるようになりたかった。 Clojureは自分の中でRubyでやりづらいと感じたことができるような気がする。

とりあえず書籍を2冊よんだから、そろそろハンズオン的なことをやっていこうかな。