最終更新:2011-04-24 (日) 23:59:48 (4748d)  

Scala
Top / Scala

オブジェクト指向言語関数型言語の特徴を統合したマルチパラダイム?プログラミング言語

ScalaはJavaプラットフォーム(Java VM)上で動作し、既存のJavaのプログラムと容易に連携させることができる。

http://www.scala-lang.org/

class Sample {
  println("hello")
}

new Sample

特徴

  • コンパイル時にJavaクラスに変換されJava VM上で動作
  • 簡易に記述でき、コンパイル言語としてエラーチェックが可能
  • 効率的な並列実行を行う機能が標準ライブラリ(Actor)として提供されている
  • 簡易に扱えるコレクションクラス(List、Map、Arrayなど)が標準搭載されている
  • 多重継承と同等の仕組みがある
  • 非常に柔軟で高機能なパターンマッチ?が導入されている
  • 既存のクラスを部分的に拡張できる
  • XML型?が標準で搭載されており、ソースコード中に直接XMLを記述できる
  • ユニットテスト用のライブラリが標準搭載されている
  • LiftというオールインワンのWebフレームワークが存在し、高機能なWebアプリを作成可能

インストール

Windows

  • JAVA_HOME=C:\Program Files (x86)\Java\jre6
  • JAVACMD=java
  • PATHに;%JAVA_HOME%\binを追加
  • scala.batを編集(クォートを追加)
-set _SCALA_HOME=%SCALA_HOME%
+set _SCALA_HOME="%SCALA_HOME%"
-if exist "%JAVA_HOME%\bin\java.exe" set _JAVACMD=%JAVA_HOME%\bin\java.exe
+if exist "%JAVA_HOME%\bin\java.exe" set _JAVACMD="%JAVA_HOME%\bin\java.exe"
  • この辺を設定しないと64ビット版WindowsだとProgram Files (x86)のあたりをバッチがうまく処理できなくて
\scala の使い方が誤っています。
  • とか言われる。

Eclipse

Webアプリケーションフレームワーク?

関連

スライド

これまでのScala これからのScala (20100904 Scala座#01 ) from Tomohito Ozaki

Android

参考