JavaScriptコードを生成するプログラミング言語「CoffeeScript」の魅力

杉山貴章(オングス)
2012-06-25 12:37:00
  • このエントリーをはてなブックマークに追加

コード量を減らして開発効率を向上させる

 CoffeeScriptは、Jeremy Ashkenas氏によって設計・開発されたプログラミング言語である。

 CoffeeScriptを特徴付けているのは、コンパイルによってJavaScriptコードを生成するための言語であるという、その性質だ。CoffeeScriptから生成されたJavaScriptは、単体で通常のJavaScriptとまったく同じように動作する。したがって、CoffeeScriptのコードを実行するためにはオリジナルのランタイムは必要なく、Webブラウザなどに搭載された一般的なJavaScriptランタイムによって実行できる。

 CoffeeScriptを利用するメリットとしては、次のような項目が挙げられる。

  • コード量を大幅に削減することができる
  • 通常のJavaScriptと同等以上の実行速度を実現
  • JavaScript開発者にとっての学習コストが低い
  • 既存のJavaScript資産を利用できる

 CoffeeScriptを使うと、通常のJavaScriptよりも短いコードでプログラムを記述することができる。これはJavaScriptに代わってCoffeeScriptを使う最大の動機になるだろう。文法はRubyやPythonから強い影響を受けており、これらの言語が持つ多くの機能が実装されている。もちろんコード量が少ないからといって可読性が犠牲になっているということはなく、むしろJavaScriptの複雑性が排除されているため理解が容易になっているという側面がある。生成されるJavaScriptも人間が読むことができるようになっているため、コンパイルした後は通常のJavaScriptとまったく同じように利用できる。

 最近では、JavaScriptはWebブラウザだけでなく、スマートフォン向けのアプリケーション開発や、サーバサイドのアプリケーション開発にも利用されている。CoffeeScriptが生成するのはあくまでも通常のJavaScriptコードであるため、それらの用途でも活用することが可能である。また、Ruby on Railsではバージョン3.1からCoffeeScriptが正式にサポートされており、その適用範囲は大きく広がっている。

 CoffeeScriptを利用する際に生じるデメリットとしては、まずコンパイルが必要だという点が挙げられる。また、CoffeeScriptを使いこなすには、JavaScriptの知識が必要になるということも多少の問題を生じさせるかもしれない。これは、実際のプログラムの実行はJavaScriptランタイムによって行われるため、JavaScriptを知らなければ実行時エラーが解読できないからだ。もっとも、CoffeeScript自体の言語仕様は極めて小さなものであるため、もしJavaScriptと同時に学習しなければならないとしても、それほど大きな障壁にはならないだろう。

CoffeeScriptの利用方法