プログラミング言語Scalaとは?

最近、Scalaというプログラミング言語が注目を集めている。Scalaとはオブジェクト指向プログラミング言語に関数型プログラミング言語の特徴を取り入れたマルチパラダイム言語で、JavaVM上で動作する。2003年に開発が開始された歴史の浅い言語ではあるものの、親しみやすいオブジェクト指向言語と関数型言語の強力な機能がほどよいバランスで統合されており、これまでJavaなどの一般的なオブジェクト指向言語を利用していた開発者が関数型言語のエッセンスを学ぶための言語としても最適だ。

今回紹介するのは、Eclipse上でScalaによるプログラミングを行うためのプラグイン、Scala Plugin for Eclipseだ。このプラグインは以下のような機能を提供している。

  • Scalaプロジェクト、クラス等を生成するためのウィザード
  • 強調表示、ハイパーリンク等の機能を備えたソースエディタ
  • Scalaアプリケーションの実行、デバッグ
  • Test Padビュー
  • Consoleビューで動作するScalaインタプリタ

SDTはこの更新サイトからインストール可能だ。本稿執筆時点での最新版は2.7.0-finalとなっている。

Scala Plugin for Eclipseの機能

SDTをインストールするとScalaパースペクティブを利用することができるようになる。まずは「File」メニューから「New」→「Scala Project」でScalaプロジェクトを作成しよう。プロジェクト作成ウィザードではライブラリとして参照するJavaプロジェクトを指定することができ、Scalaの動作に必要なライブラリが最初からクラスパスに登録された状態でプロジェクトが作成される。

プロジェクトを作成したら続いてパッケージやクラスなどを作成しよう。Scalaのソースファイルは、以下のように構文の強調表示機能を備えたなエディタで編集することができる。変数やメソッド呼び出し、クラス名などを[CTRL] + [左クリック]で定義部分にジャンプするハイパーリンク機能も利用可能だ。また、ソースにコンパイルエラーがある場合にはエラーマーカが表示される。また、プロジェクトのプロパティページでコンパイラの設定を行うことができる。

図1 ソースエディタ

図2 コンパイラの設定

作成したScalaプログラムは「Run」メニューから「Run As」→「Scala Application」で実行、「Debug As」→「Scala Application」でデバッグを行うことが可能だ。

その他の便利な機能として、Package ExplorerでScalaプロジェクトを選択し、右クリックメニューから「Create Scala TestPad for プロジェクト名」を選択することでTest Padビューを開くことができる。Test Padビューでは任意の式を評価し、結果を表示することができる。また、同様にプロジェクトを右クリック→「Create Scala interpriter for プロジェクト名」を選択することでConsoleビューでScalaインタプリタを動作させることが可能だ。いずれもデバッグやコードの断片を実行したい場合に便利な機能だ。

図3 Test Padビュー

図4 Scalaインタプリタ

EclipseでScalaをはじめよう!

本稿で紹介したScala Plugin for Eclipseは機能面ではまだまだ発展途上であり、ソースエディタでの入力補完機能やリファクタリングなどの高度な機能だけでなくフォールディングやタスクタグといったEclipseではお馴染みの機能も実装されていない。このあたりについては今後の進化に期待といったところだが、現在のバージョンで提供されているコンパイルエラーの即時検出、グラフィカルなデバッガなどの機能を利用するためだけでも利用する価値はあるだろう。また、特に環境設定を行わなくてもすぐにScalaプログラムの作成、実行を行うことができるため、これからScalaを勉強してみようという人にも最適だ。

冒頭でも述べたとおり、Scalaはオブジェクト指向言語と関数型言語のパラダイムが程よいバランスでミックスされており、これまで関数型言語に敷居の高さを感じていた人にも親しみやすい言語といえる。また、JavaVM上で動作することから既存のJavaライブラリを活用することができるため、実用的なアプリケーションを記述することも充分可能だ。是非EclipseとScala Plugin for EclipseでScalaプログラミングにチャレンジしてみてほしい。