ECMAScript 6に向け、よってたかって進化が続くJavaScript
JavaScriptはEcma Internationalと呼ばれる標準化団体によって言語仕様の標準化が行われています。最新バージョンは、2009年12月に策定されたECMAScript 5th Editon。これが昨年4月にISO/IEC 16262 3rd Editionとして国際標準にもなりました。その後、昨年の6月には修正版のECMAScript 5.1が公開されています。
現在のWebブラウザがJavaScriptの仕様として参照しているのが、このECMAScript仕様です。
そして次期版ECMAScriptとして、ECMAScript 6th EditionもしくはES.nextもしくはProject Harmonyなどと呼ばれる仕様策定作業が進行中です。2013年末の策定完了を予定しているようです。
それまでまだ2年ありますが、すでに次期版ECMAScriptに関する情報があちこちから聞こえてきます。最近の動向についてまとめてみました。
Mozilla Labsのエンジニアによる次期版ECMAScript解説
米Yahoo!が主催するYUI Theaterで「The Future of JavaScript」というセッションを行ったのが、Mozilla LabsのエンジニアDave Herman氏。ECMAScript次期版のどこがすごいのか、詳しく解説してくれています。
モジュール、ブロックスコーピングなどをはじめとする項目が取り上げられています。詳細はぜひ公開されているビデオを参照してみてください。
また、JavaScriptの生みの親であるBrendan Eich氏も、SlideShareに「ES.next」というそのものずばりの名前のスライドを半年前に公開しており、次期版ECMAScriptの目指すものや策定の状況について解説しています。
マイクロソフトは関数や国際化の試験的実装を公開
マイクロソフトは、11月22日にIEBlogにポストした「Evolving ECMAScript」という記事で、新版の議論をするために以下の機能を追加したリファレンス実装を公開したと報告しています。
またこのリファレンス実装ではWindows 7上で実行した際に、グローバル対応として363のロケール、18種類の数字表記、多くの日付表記なども実験的にサポートしているとのことです。
jQuery開発チームも標準化へ関与の姿勢
いまやJavaScriptの標準的なライブラリと言っても過言ではないjQeuryの開発チームも標準化への関与を強めようとしています。jQuery開発チームは、HTML5やECMAScriptなどの標準化に対して自分たちや自分たちのユーザーの要望を届けるための「jQuery Standards Team」を先月10月に発足させました。
このチームはHTMLなどの仕様を策定しているW3Cと、ECMAScript仕様を議論しているECMA InternationalのTC39に対して活動することを明らかにしています。
インテル、グーグル、CoffeeScriptなど
ECMA International以外の場所でも、JavaScriptを強化しようという動きは活発です。
インテルは9月に行われたIntel Developers Forum 2011(IDF2011)で、JavaScriptに「データ並列」な処理を実現するための拡張機能「River Trail」を開発中であることを明かしています。これは並列処理をOpenCLレベルに落とし込んで高速に演算する、というもののようです。
また最近では、JavaScriptを生成する高級言語である「CoffeScript」への注目も高まってきました。CoffeeScriptはJavaScriptに比べてより短いコードで効率的にプログラムを記述できるとされています。言語をコンパイルして別の言語を生成するものをTranscompiler、もしくはTranspilerと呼ぶそうで、言語を進化させる新たな手法として注目されています。
一方でグーグルはECMA InternationalでJavaScriptの進化に協力しつつも、「JavaScriptは根本的な問題を抱えている」というスタンスも一部でとっており、新言語の「Dart」を発表しました。DartはCoffeeScriptのようにDartのコードをJavaScriptに変換することも可能なようです。
こうしてみると、ECMAScript/JavaScriptには驚くほどの企業や組織がよってたかって、さまざまなアプローチで、より強力に、あるいはよりシンプルにと、拡張に向けた努力を続けています。言語の周辺ではさまざまなライブラリ、フレームワーク、Node.jsのような新たな実行環境なども登場してきています。
おそらく、あらゆるプログラミング言語の中でこれほど多くのリソースが集中投下される言語はいまだかつてなかったのではないでしょうか。2年後、3年後にJavaScriptとそれを取り巻く環境がどうなっているのか。今からとても楽しみです。
あわせて読みたい
Amazon S3対抗のサービスを実現できる、クラウド向けオブジェクトストレージ「Atmos」をEMCが国内投入
≪前の記事
OpenFlowとネットワーク仮想化とSoftware-Defined Network。そしてネットワークOSの主導権争いが始まる