「より良い Java」としての Scala

 「関数型言語とかって Java と違うパラダイムなら興味ないから」っていうあなた! そんなあなたも「より良い Java」として Scala を使うというのも良いと思いますよ。なぜなら

  • Java の資産がすべて使える
    • もちろん Java のクラスを継承することもできる
    • Java のインタフェースを実装することだってできる
    • つまり、StrutsScala から使うことだってできる
  • Scala で作ったものも Java から使える
  • Maven で管理できる

なんていう特徴があるからです。


 それに、なんと言っても型推論ですよ!


「例のメソッド作っといたから」なんて共通ライブラリチームに言われてふたを開けてみたら戻り値の型が java.util.Map[String, java.util.List[String] ] で使うときに殺意を覚えたことはありませんか? 実際コーディングするとこんな感じです。

import java.util.Map;
import java.util.List;

// 〜 中略 〜

Map[String, List[String]] hoge = getHoge();

Scala ならこんなに簡単!

val hoge = getHoge

 getHoge の戻り値の型はメソッドの定義を見ればわかる話なので変数を宣言する時にわざわざ型を指定する必要なんてなんでしょ? ってのが Scala


 もうね、これだけでも Java やめて Scala 使う理由になっちゃいます。