Scalaはじめるとブツかる用語集

scalman


永遠に書きかけ。現在洗い出し中。説明ブンはいつか書く。

開発環境

JDK1.6
Javaの開発環境。コンパイラやデバッガが含まれる。Scala使うなら必ずインストールが必要。
Jetty
JVM
Java仮想マシンScalaJVM上で動く言語。
Lift
ScalaのWebアプリケーションフレームワーク。いろいろなフレームワークのいいとこ取りをしたフレームワークとして知られている。
Maven
Java環境で利用されているOSSのビルドツール。Scalaでもよく使われる。
BDD
SBT
TDD
ScalaTest

言語仕様

immutable
不変オブジェクト。関数型言語は不変オブジェクトをつかってプログラミングするのが基本。バグの原因は再代入であることが多いため、慣れるとバグ抑止に直結する。
mutable
可変オブジェクト。クラスの持つプロパティをsetメソッドのような仕組みで書き換えることができるオブジェクトのこと。Javaで例を挙げるとStringBuilderとかArrayListとかHashMapとか。
Option
Unit
戻り値がないことを意味する戻り値
トレイト
継承とインタフェースの中間。問題のでない多重継承の仕組みと言える。
メッセージパッシング

関連技術

Ajax
JavaScriptによる非同期なHTTP通信を行う仕組み。Liftでサポートされている。
comet
サーバからpush配信を行うための仕組み。Liftでサポートされている。
snippet
一般にコードの断片のことsnippetと呼ぶ。Liftのviewでは、HTMLにsnipetを埋め込み、処理を実装する。JSPPHPとの違いは、言語固有のコードを埋め込まないところにある。snipetはコードの断片と変数名をマッピングしてあるだけなので、ただのXHTMLなのである。

導入実績

foursquare
位置情報サービスの代表格。元はPHPだったがScala+Liftで3ヶ月かけ、ほぼ書き直した。
Twitter
フロンドエンドはRuby on Rails。バックエンドがScalaで実装されているのは有名。