java という世界で
「IDE (統合開発環境) 何使っている?」
とか聞くと、
「キミ、はなくそほじるときは当然、人差し指だよね。ま、ど~しても足の親指使いたいっていうんならそれは個人の自由だから、ボカァ反対しないけどさ…。」
くらいの勢いで eclipse なのですが、なんで eclipse がそこまでスタンダードになったかというと「タダだから!」とか「オープンソースだから!」とか色々あるけどやっぱり「ソースの中で変数を右クリックして<宣言を開く>を押すとその変数のクラスのソースに簡単にたどり着けるから!」というのが非常に便利だったから、というのが極個人的にあります (eclipse を使う前に使っていた別の IDE ではそういうことができなくて、なんだか新鮮だったのです)。そんなこんなで調子に乗って、サザエさんの家系図より複雑な継承関係のクラス設計をして訳が分からなくなったりとかしていたのですが…。

なんでそんな話をしたかというと、ActionScript と Java の違いの大きなところで、「動的型付け言語」であるか「静的型付け言語」であるかというのがあります。例えば「静的型付け言語 (Java)」の場合、変数の宣言はすべてクラス名の記述が必要で「動的型付け言語 (ActionScript)」の場合はあってもなくても良いといったような。
Eclipse の「ソースの中で変数を右クリックして<宣言を開く>を押すとそのクラスのソースに簡単にたどり着けるから!」という機能は「静的型付け言語」だから必ず変数の宣言と一緒にクラス名が書いてあって、すべての変数とそのクラス名が実行前にリンクされていたがゆえに実現できたわけで、「動的型付け言語」の場合、クラス名が変数宣言といっしょに書いてないとこの機能は使えないんだなぁと思うわけです。

Eclipse の ActionScript 対応は着々と進化しているのですが、このあたり今後どのように対応していくか興味深いところです。

それとともに同じオブジェクト指向でも、「静的型付け言語」と「動的型付け言語」でそれぞれ設計思想とか、手段とかの違いがあると思うけどそのあたりどうなんだろう?みたいなことも考えていきたいですね。

HTML5飯