Scalaの現状と課題

5,243 views

Published on

JavaOne Tokyo 2012のJVM言語BOFにて、ScalaJPの水島が発表に使ったスライドです。

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,243
On SlideShare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
12
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

Scalaの現状と課題

  1. 1. Scala の現状と課題日本 Scala ユーザーズグループ代表 ( 仮 ) 水島 宏太
  2. 2. 自己紹介● 水島 宏太 – 株式会社ユビレジ所属● プログラミング言語&構文解析好き – 自作言語をときどき作ったり – http://github.com/kmizu/onion
  3. 3. Scala の概要● 作者: Martin Odersky – javac(Java 5 以降 ) の原作者 (GJ コンパイラ )● 特徴: – 簡潔で柔軟な記述 ● Java の 1/3 ~ 1/4 くらいのコード量 – オブジェクト指向と関数型の統合 – コンパイル時の強力な型チェック – 高速な処理系 – 高機能な対話環境 (REPL)
  4. 4. IDE サポート● Scala IDE for Eclipse – Typesafe● IntelliJ IDEA (Scala Plugin) – JetBrains● NetBeans (Scala Plugin) – コミュニティベース
  5. 5. 処理系● http://www.scala-lang.org/downloads● 最新安定版 : Scala 2.9.1.1● 系列 – Scala 2.9.X: 現在主流 – Scala 2.8.X: 一部プロジェクトが利用
  6. 6. ビルドツール● Simple Build Tool – http://www.scala-sbt.org/● Scala DSL で設定ファイルを記述 – not XML● 既存の maven リポジトリを利用可能
  7. 7. build.sbtname := "hello_scala"version := "0.01"scalaVersion := "2.9.1"libraryDependencies ++= Seq( "net.liftweb" %% "lift-json" % "2.4")
  8. 8. ライブラリ● Scala 標準ライブラリ● サードパーティの Scala ライブラリ – Specs, ScalaQuery, Dispatch 等 – Github に多数のプロジェクト● 既存の Java ライブラリ – 大体はそのまま使える● sbt で依存性を記述するだけで取り込める
  9. 9. Web App フレームワーク● Lift – フルスタック , View First● Play! 2.0 (Scala ベース ) – Typesafe Stack( 後述 )● Unfiltered – パターンマッチ等 Scala の機能を活用● Scalatra – Ruby の Sinatra ライクな記述
  10. 10. 導入利点● 簡潔なコード + 強い静的型付け – 対 Java 比で 1/3 〜 1/4 のコード量 – コンパイル時のエラーチェック● 既存の Java 資産を生かせる● 分散・並列処理のライブラリサポート  Akka, Finagle 等
  11. 11. 海外の適用事例● Twitter – バックエンドを中心に Scala を活用 – 多数の Scala フレームワークを公開 ● Finagle, Kestrel 等● LinkedIn● Foursquare – Scala + Lift● Amazon.com
  12. 12. 国内の適用事例● 株式会社パテントビューロ – Scala + Lift を主力言語として開発● 有限会社 IT プランニング● エムスリー株式会社● 芸者東京エンターテインメント株式会社● comnus.com
  13. 13. 海外コミュニティ● インターネット上 – 公式 ML – See: http://www.scala-lang.org/node/1707● 世界各地にコミュニティが存在 – Bay Area Scala Enthusiasts (BASE) – New York Scala Enthusiasts – London Scala Users Group
  14. 14. 国内コミュニティ● Scala 会議 ( 第 1 回 , 第 2 回 )● 日本 Scala ユーザーズグループ (ScalaJP) – http://jp.scala-users.org/ – https://github.com/scalajp/ – イベント開催 , 翻訳のレビュー等● Scala 勉強会 in 渋谷 ( 秋葉原 )● Akasaka.scala● 名古屋 Scala 勉強会
  15. 15. 現状の課題● ドキュメント – docs.scala-lang.org により改善中● ビルド速度 – sbt, IDE を活用して軽減可能● バイナリ互換性 – マイナーリリース間の互換性を保証 – メジャーリリース間で互換性は保証無し ● sbt によるクロスビルドで対応
  16. 16. 今後の動向● 次期メジャーリリース: Scala 2.10 – Milestone 2● マイナーリリース: Scala 2.9.2 – RC 2● Typesafe Stack の提供 – Scala + sbt + Akka + Play 2.0 + Eclipse● Scala Days 2012 (4/17 ~ 18, London)

×