関数型言語への注目とClojure

関数型言語は主流となりうるのか

CPUのマルチコア化が進んだことで並列プログラミングへのニーズが高まり、関数型言語が注目されています。手続型からオブジェクト指向へのパラダイムシフトのように、関数型は主流となるのでしょうか?
純粋な関数型言語は、学術的な美しさがありますが、Java のように大衆化するのは難しいのでしよう。非純粋性をある程度許容したマルチパラダイム言語が主流になってくるのではないでしょうか。

関数型言語の注目度は

そこで、比較的最近出てきた関数型と言える言語を Google Insight Search で比較してみました。
対象は、

Scala が頭ひとつ飛びぬけています。死につつある Java の変わりになれるでしょうか。地域ごとでは、やはり地元のスイスでは圧倒的な注目度となっていました。Java と比較するとまだまだゴミ見たいなレベルではありますが。

伸び率を見てみると

Clojure が急激な伸び率を示しています。

Clojure は非常にエレガントな形で Java との融合を実現しており、個人的には非常に好感を持っています。カッコの少ない Lisp とは言いつつも、やっぱりカッコが多くて慣れにくいですがー

プログラミング Clojure で新しい視野を手に入れる

ということで、現在唯一の Clojure 和書 である「プログラミング Clojure」を紹介します。

プログラミングClojure

プログラミングClojure

以下のように Clojure が紹介されています。


目次はこんな感じ。

  • 第1章 Getting Started
  • 第2章 Clojure ひとめぐり
  • 第3章 Clojure から Java を使う
  • 第4章 シーケンスを使ったデータの統合
  • 第5章 関数型プログラミング
  • 第6章 並行プログラミング
  • 第7章 マクロ
  • 第8章 マルチメソッド
  • 第9章 現場の Clojure


EmacsLisp が呪文にしか見えなかったとしても、この本はお勧めできます。JVM 上で気軽に試せますし Java との連携もシームレスに行えます。なにより、Java プログラマには、プログラミング言語についての考え方に別な視点が得られると思います。これから Clojure を使うことはなかったとしても、Lisp 族が天下をとれなかったとしても、読んでおいて損はないと思います。