いま日本で、関数プログラミングが熱い 「函数プログラミングの集い」レポート
2011年9月17日に行われたイベント「函数プログラミングの集い」の内容報告である。
Typesafeは、Typesafe Stack 2.0をリリースした。これはJavaとScalaでスケーラブルなアプリケーションを開発するためのオープンソースのプラットフォームである。 Typesafe Stackは、Scalaプログラミング言語、 Akka 2.0イベント駆動ミドルウェア、 Play 2.0 webフレームワーク、様々な開発ツールが含まれており、既存のJava環境にシームレスに統合する。
Travis CIはクラウドベースのオープンソース向け継続的統合(CI)ソリューションであり、にホストされている。同プロジェクトは今後の計画を発表した。それによれば、企業ユーザがビルドマシンやテスト環境のメンテナンスがいらない継続的統合の恩恵を受けられるようにするためにプライベートビルドをサポートするつもりだ。
クリスマスを目前に控えて Sacla IDE のバージョン 2.0 が リリースされた。Scala IDE プロジェクト は Miles Sabin 氏が立ち上げ,その後 Typesafe が参加することによって製品レベルに達した Scala 開発環境だ。InfoQ では Typesafe の Iulian Dragos 氏にその新機能を訊いた。
Twitterは、彼らのEffective Scalaガイドをオープンソースにした。ドキュメントは、GitHubにあり、CC-BY 3.0の下でライセンスされる。Scalaは、Twitterで使われている主要なプログラミング言語の1つで、TwitterのインフラのほとんどがScalaで書かれている。 Effective Scalaガイドは、短いエッセイのシリーズで、Twitter内でScalaを使っていることから学んだ「ベストプラクティス」セットである。
Scala 2.10が見えてきており、そして最近物議を醸す意見もあるが、実際のところ、Scalaの後方互換性に関する話は何なのか?そしてそれは、人気のあるScalaライブラリにどのような影響を及ぼすのか?もしJosh Suereth氏が正しければ、昨年David Pollak氏によって提案されたScala Freshプロジェクトが再スタートする。
Typesafeは、Play frameworkがTypesafe Stack 2.0に含まれることをアナウンスした。Play frameworkは、Rails/Grailsのようなフレームワークで、元々ScalaでなくJavaにフォーカスしていた。遂に Play framework 2.0はScalaとJavaを一級市民としてサポートする。InfoQは、Typesefeの社長かつCEOで、Donald Fischer氏に、Play フレームワークを彼らが選んだことと、Play フレームワークがTypesafe Stackに採用した理由を話してもらった。
YammerがScalaからJavaへの移行を進めている。1年に及ぶ検証の結果、簡潔な言語で記述することによる利点は、新人に教え、性能問題に対処する必要のある複雑な言語の利点を上回らないということが分かった。また、メールには特定の書き方を避けることで性能を改善できると指摘している。

9月29日に、LinkedIn Signal がアナウンスされた。これはLinkedIn の共有情報と つぶやき用のソーシャル検索アプリケーションで、 LinkedIn-Twitter の限定されたアカウントに提供する。この記事では、 Scala, JRuby と Voldemortをこのような規模で組み合わせた、その動機と技術的な挑戦について深い知見を提供するつもりである。
Scala, Spring と JPAを使った具体的な例を基に、このアーティクルは、暗黙の変換や traitsのようなScalaの強力な概念によって、いかにSpringを強化するかを説明している。更に、JavaベースのフレームワークとScalaの間の溝がいかにスムーズに埋められるかを示している。

オブジェクト指向と関数型の機能をすべて提供し、さらにRubyに代表される動的言語の柔軟性と静的型付け言語の信頼性をも兼ね備え、JavaVMの上で開発実行できる新時代の言語がScalaだ。Scalaとその上で使える強力なWebフレームワークLiftを用いた実システム開発が世界的に広がっているが、今回は日本での実システム開発の事例とScala採用の理由をインタビュー+プレゼン形式で語ってもらう。