Scalaは2003年にスイス・ローザンヌにあるスイス連邦工科大学 (EPFL)の教授、マーティン・オーダスキー氏によって開発されたプログラミング言語です。名前の由来は、英語の「scalable language」から。ソーシャルネットワーキングサービス(SNS)の代表的存在であるTwitterも、インフラの大部分をScalaで作成しています。また、同じくSNSのLinkedIn、Foursquareでも採用しており、海外ではメジャーな言語になりつつあります。
一方、国内では「ニコニコ動画」などゲームや音楽をはじめとするエンタテインメント分野で知られるドワンゴも、Scalaで開発していることを明かしています。Scalaは、オブジェクト指向言語と関数型言語の両方をあわせもつのが特徴です。
「静的」でありながら「柔軟」である
RubyやPython等のスクリプト言語や、JavaやC#等現在のエンタープライズ領域を支える言語など、動的なコンテンツを作成するための言語は数多くあります。その中で、Scalaが注目を集めているのには、まず「静的型付けの言語で保守性が高い」という面があります。静的型付けのため、型関連などのエラーがあった場合でも、コンパイル時点での検出が可能で、Rubyなどよりも大規模なシステム開発に向いていると言われます。
その一方で、柔軟性がある面も魅力です。たとえば、同じオブジェクト指向言語であり、充実したライブラリをもつことで知られるJavaのライブラリを利用できます。また、NET Framework上で実行する場合、.NETのライブラリも使用可能です。それでいて、Javaよりも型(クラス)を作りやすいとされています。開発生産性を高めるために、簡潔な表記が採用されているのも、嬉しい点です。
現在もっとも理想的とされる言語
「現役プログラマーにとっての理想言語」にもっとも近いとも言われるScala。開発者のオーダスキー教授も登壇した「Scala Matsuri」というイベントが開催されるなど、昨今、日本国内でも盛り上がりを見せています。
しかし、比較的新しい言語であり、国内での開発実績も少ないためか、身構えてしまう人も多いようです。先にも書いた通り、Scalaは世の中に膨大な数があるJavaのライブラリを利用可能です。そのため、Javaのスキルセットがあるプログラマであれば、比較的とっつきやすい言語であるともいえるようです。開発に興味を持つ人のためのフォーラムや勉強会、サークルなども続々と立ち上がっているので、関心がある人は覗いてみるとよいでしょう。
今後ますます注目される言語になると予測されていますので、ライバルが少ないうちに開発スキルを身につけておくことをオススメします。