Railsのクラウドホスティングサービスで有名なHerokuが、パブリックベータであるものの公式にClojureのサポートを表明しました。これまでHerokuはRuby、JavaScript(Node.js)をサポートしておりClojureで3つ目となります。
ClojureはJVM上で動作するLisp文法のプログラミング言語です。記事では簡単なアプリケーションを作成しHeroku上で動かすチュートリアルが掲載されており、プロジェクト設定を除くとわずか10行ほどのコードで実現できます(リスト1)。
また、おそらく多くの人が疑問に持ったであろう「なぜClojureをサポートすることになったのか?」についても説明しています。まず、柔軟さを持つRubyやイベント駆動の並行性を持つNode.jsとは異なり、Clojureには関数型プログラミング言語が持つ正当性(correctness)やパフォーマンス、Javaとの親和性などの新しいユースケースに対応できる点を挙げています。また、RubyやNode.jsと同じくコミュニティベースによる発展が速く、サポートすることでHerokuの強みを打ち出せる点があります。そして個人的にこれが最も大きい理由ではないかと思っているのですが「HerokuチームがClojureを好きだから」という点も挙げています。HerokuのエンジニアにRingというWebサーバインタフェースのライブラリの開発者がおり、彼を中心にHerokuのClojureサポートが進められていったようです。
Herokuには他クラウドサービスを簡単に利用できるアドオンが用意されており、RDBMSやNoSQL、検索エンジンなどが自由に組み合わせられます。無料の範囲でかなりのことができますので気軽にClojureアプリケーションを作成する場として試してみてはいかがでしょうか。
リスト1 Clojureの簡単なアプリケーションコード例
URL:http://blog.heroku.com/archives/2011/7/5/clojure_on_heroku/