Scalaの良いところ 現代的なプログラミングについて学べる 実用的なアプリケーションが作成できる 関数型言語、オブジェクト指向言語(C++, Java)などの良いところを吸収している 関数定義のための簡潔な構文 オブジェクトを使ってデータ構造、コンテキストを定義 Syntaxが簡潔(コードを短く書けるのは武器) そのため、言語の不備と戦うための技術から解放される テンプレートによるHack (Modern C++ Design) 言語の不備を乗り越えるためのデザインパターン JavaでのVisitorパターンなどはScalaでは不要。パターンマッチを使えば良い ただし、Scala特有のデザインパターンはある (Loan, concept, cake pattern, monadなどなど) Rubyもprimitive型を捨て、オブジェクト指向に徹することで良いデザインの言語になっている