濃縮還元オレンジニュース

Herokuが公式にClojureをサポート開始

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の簡単なアプリケーションコード例

(ns demo.web
  (:use ring.adapter.jetty))

(defn app [req]
  {:status 200
   :headers {"Content-Type" "text/plain"}
   :body "Hello from Clojure!\n"})

(defn -main []
  (let [port (Integer/parseInt (System/getenv "PORT"))]
    (run-jetty app {:port port})))

URLhttp://blog.heroku.com/archives/2011/7/5/clojure_on_heroku/

おすすめ記事

記事・ニュース一覧