「より良い Java」としての Scala
「関数型言語とかって Java と違うパラダイムなら興味ないから」っていうあなた! そんなあなたも「より良い Java」として Scala を使うというのも良いと思いますよ。なぜなら
なんていう特徴があるからです。
それに、なんと言っても型推論ですよ!
「例のメソッド作っといたから」なんて共通ライブラリチームに言われてふたを開けてみたら戻り値の型が 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。