Clojureいいかもしれない
なんとなくプログラミングClojureを買って一通り読みました。その時は「なるほど結構新しい試みのlispだな〜」くらいの感想でしたが、数日webで調べならがいじったところこれはすごい言語かもしれないと思い始めました。
Javaライブラリが使える
Clojure自身のライブラリはまだまだ発展途上ですが、もし欲しい機能がなくても Javaのライブラリに頼れる。実行時にjava コマンドに -cp でライブラリ jar を指定するだけなので手軽。
lispである
Javaのライブラリを使うときもlispのシンプルな構文でかけるため、Javaでコーディングするより数倍楽。あらゆるコレクションや木構造を、seqとして同じように処理できてしまうのも面白い。
リストも配列もファイルデータもディレクトリ階層もXMLノードも、みんな同じ関数で処理できてしまう。
Emacs + Slime で開発できる
emacsを普段から使っている身としては嬉しい。単に clojure-mode でシンタックスハイライトやインデントするだけでなく、swank-clojure により slime の機能が使えてしまう。これは強力。
他にも vim, netbeans, eclipse などでの開発用プラグインもあるようです。
Leiningen が便利
Leiningenはプロジェクト生成から依存ライブラリダウンロード、テスト環境作成やビルド、jarファイル生成までを簡易的なコマンドで自動化してくれるツール。Javaのmavenのようなものです。しかも、mavenのライブラリもそのまま使える。
実行環境ごと jar 化可能
依存ファイルを1つの jar にパックできる。javaなのでこのjar と JVM があれば java -jar hoge.jar でどこでも実行可能。ポータビリティが非常に高い。
Clojars がある
ClojarsというオープンソースのClojure モジュールを公開するサイトが用意されている。まだこれからという感じではあるが、それでも多数の拡張ライブラリが公開されている。ゆくゆくは PerlのCPANや、RubyのRailsRubyGemsのような位置づけになると思う。なって欲しい。
ちなみにClojarsで公開されているモジュールは、Leiningen で簡単にプロジェクトにダウンロードできます。
すごくね?
という感じ。例えばClojars に公開されている compojure というweb app開発ライブラリを使えば、jarひとつで動く簡単なwebサーバー機能をもったアプリが作れてしまう。swing使えばGUIフロントエンドもつけられるし、しかも実行環境はOSを選ばないという・・・これは夢が膨らむ。
まだまだ日本語リソースが少なくて情報収集には苦労しそうだけどそれでも使いこなしたくなるくらい魅力的に思いました。