先週からちらほらと話題になっているのですが、ActionScript の元となっている言語仕様である、ECMAScript の新しいバージョンとして仕様が策定されてきた ECMAScript 4 (ECMA-262 Edition 4) が、白紙に戻りました。ECMAScript 4 の仕様策定途中に、4 とは独立して ECMAScript 3.1 (ECMA-262 Edition 3.1) に仕様策定が開始されたりとカオスな状況になっていたのですが、今後は ECMAScript 3.1 の方に統一して、ECMAScript Harmony というコードネームで新たに仕様策定を進めていくようです。
ActionScript は、Flash 5 ではじめて、ActionScript 1.0 として搭載されました (それ以前は「アクション」)。ActionScript 1.0 は JavaScript などでも御馴染みの、 ECMAScript 3 (ECMA-262 Edition 3) に準拠しています。そのため、クラス宣言の構文等は無く、自分でプロトタイプを弄くりまわしてクラスを作るのが主流でした。それが、Flash MX 2004 (5 の二つ次のバージョン) で、ECMAScript 3 を独自に拡張してクラス宣言等を取り入れた ActionScript 2.0 が登場します。ただし、ActionScript 2.0 の新しい構文は全てシンタックスシュガーで、内部的にはビルド時に全て ActionScript 1.0 のコードに変換されてクラス等が実現されていました。そして、Flash CS3 (MX 2004 の二つ次のバージョン) では、ECMAScript 3 ではなく、よりオブジェクト指向色の強くなった ECMAScript 4 に準拠した、ActionScript 3.0 が導入されます。ただし、もちろんこのとき ECMAScript 4 は仕様策定途中であったため、当時 Netscape が出していた草案をベースに実装されています。また、ActionScript を実行するバーチャルマシン (VM) も、ActionScript 3.0 専用の AVM2 が作られます。...と、こんな感じで ActionScript は進化してきました。
今新たに策定されようしている ECMAScript Harmony は、ECMAScript 3.1 がベースで、今まで策定されてきた ECMAScript 4 とは異なる部分が多々あります。そのため、ECMAScript 4 準拠を目指していた ActionScript 3.0 は、当然のことながら ECMAScript Harmony と異なる部分が多々あります。そして、現時点で、ECMAScript Harmony には、パッケージや名前空間といった仕様は入れず、今後も議論の対象としない、ということが決定しているので、ActionScript 3.0 は機能を削らない限り、ECMAScript Harmony 非互換非準拠になることが既に決定している訳です。
ECMAScript と共に歩みながらも、微妙に脇道を走ってきた ActionScript ですが、今後 ActionScript が一体どうなっていくのか、「三度の飯より ActionScript」メンバーとしては今世紀最大の (言い過ぎ) 見所です。個人的には、ActionScript 3.0 好きなので、もう独自路線で拡張していっても良いと思うんですけどね。
とりあえずは、Adobe がどのような方針を取るのか公式なアナウンスを待つことになります。上条さんのブログエントリでは、オープンソースチームディレクター Dave さんのブログエントリが紹介されています (ただし Adobe 公式な意見ではない)。
11:55 修正
コメント欄での指摘通り、「非準拠」は不適切だったので「非互換」に修正。
サイト内関連記事
この記事へのトラックバック
トラックバックはありません。
TrackBack URL:
http://www.be-interactive.org/trackback.php?id=402

> ActionScript 3.0 は機能を削らない限り、ECMAScript Harmony 非準拠になることが既に決定している訳です。
そんなことはないと思いますよ。標準にない機能がある分には、非準拠とはいいません。上位互換というやつです。HTML/DOM/CSS にもブラウザ独自機能があるし、 C/C++ にもコンパイラ独自拡張がありますよね。
標準にある機能(必須としている機能)がないのが非準拠です。
ActionScript3 には eval() がないので、
その点で非準拠なのはたしかですね。
ただ、パッケージやら名前空間は核に近い部分なので、
いずれにせよこの周りで非準拠な部分が出てきそうですね。
これはすでに、8月30日になかの ZERO で開催される LL Future の関係者にも知れ渡っています。
このような発言は、26歳の彼の将来にとってプラスにはならないのではないでしょうか?
高野光弘君に忠告していただけませんか?