プログラミングブログ

文系大学生がwebエンジニア目指してプログラミング

Scala学習 part1(歴史、どんな言語か)

Scalaの誕生とこれまで

  • 2003年 スイス連邦工科大学ローザンヌ校のMartin Odesky教授がScalaを設計、講義で初めて使用
  • 2006年3月 Scala2.0リリース、その後2.xの時代が続く
  • 2009年4月 Twitter社がバックエンド部分の言語をRubyからScala
  • 2011年5月 Odersky氏はAkkaの作者Jonasらと、Typesafe社を設立(今はLightbend社)Typesafe社では、ScalaコンパイラScalaの主要なビルドツールsbt、Akka、WebフレームワークのPlay FrameworkなどのOSSが開発される。
  • 2012年12月 Scala2.10リリース、マイナスバージョンリリース間(例えば、バージョン2.10.1と2.10.2間)のバイナリ互換性が維持されるように

なぜScalaか?

Scalaの特徴

  1. 1行で済むようなスクリプトで済ませられる仕事から大規模な24時間稼働のシステムの開発まで対応可能
  2. オブジェクト指向
  3. 関数型
  4. Javaでやってたことができる
  5. 関数は、オブジェクト志向でいうオブジェクト
  6. 非同期処理のためのAPIがあり、複数の処理を並行して進められる
  7. 冗長なコードが少なく、強い静的型で安全

 

ScalaJVMJava仮想マシン)上で動作する言語

JVM上で動作するメリット

  • OSの差異などに作用されない
  • 既存のJavaモジュールを呼び出せる
  • 実行時パフォーマンスがある程度高速である

JVM上で動作するデメリット

  • コマンドラインなどから都度実行する場合、JVMの軌道に一定の時間がかかる
  • 小規模なアプリケーションでメモリ使用量が大きい

著名なユーザ企業

Scalaを用いている企業

TwitterFoursquareTumblr、LinkedIn、IntelNetflixなど