最近話題のscala。 コンパイル結果が.classファイルになるので、javaから普通に呼び出すことが出来るみたいです。 なので、scalaのコードをコンパイルして、jarを生成し、そのjarをjavaから呼び出すサンプルプログラムを書いてみました。 まずscalaのコード。 object JarMain { def main(args:Array[String]) = { println("Hi, I am Scala."); println("I've got your message:"); for (elem <- args) println("> " + elem); } } これをscalaでコンパイルした後、javaのコマンドを用いてjarを生成する。 それを呼び出すjavaのコードは下記のよう。 public class Main { public static void main(String args[]){ String[] strs={"Hi, I'm Java"}; JarMain.main(strs); } } で、実行結果 Hi, I am Scala. I've got your message: > Hi, I'm Java 簡単。そして地味にすごい。 最終的にjarに落としこむことができるので、ひとつのjavaプロジェクトの中で一部分だけscalaで書くということが簡単に実現できる。 これはtraditionalで大規模な開発を行なっている企業には特に嬉しい。 一つのプロジェクトで一部分だけscalaでスモールスタートして、様子を検証しつつ、上手く行ったら徐々にscalaに置き換えていくストーリーが実現可能になる。 この点は非常に重要で、例えば一昔まえに流行ったruby on railsなんかだと、導入するとなったら全部変えなきゃいけないので、アーキテクチャ全体の変更が必要だわ、多数のエンジニアの教育が必要だわ、とかくtraditionalな会社では導入の敷居がかなり高かった。 でもsc...