2010-08-30 Scalaはじめるとブツかる用語集 scala 永遠に書きかけ。現在洗い出し中。説明ブンはいつか書く。 開発環境 JDK1.6 Javaの開発環境。コンパイラやデバッガが含まれる。Scala使うなら必ずインストールが必要。 Jetty JVM Java仮想マシン。ScalaはJVM上で動く言語。 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を埋め込み、処理を実装する。JSPやPHPとの違いは、言語固有のコードを埋め込まないところにある。snipetはコードの断片と変数名をマッピングしてあるだけなので、ただのXHTMLなのである。 導入実績 foursquare 位置情報サービスの代表格。元はPHPだったがScala+Liftで3ヶ月かけ、ほぼ書き直した。 Twitter フロンドエンドはRuby on Rails。バックエンドがScalaで実装されているのは有名。