2009-06-24

Javascriptに関する批判的感想

あまりにも動的過ぎる。いやもちろん、動的な言語というのも悪くはない。プロパティを後から自由に追加できること自体は、別に悪くない。ただし、delete演算子は、正気の沙汰ではないか。一体当時、Javascriptを実装していたプログラマが何を吸っていたのか、非常に気になる。

withの問題、withに至っては、もう吸っていた所じゃない。明らかに静脈注射していたレベルだ。withの問題は、あまりにも有名なので、いまさら言うまでもないだろう。まともなJavascriptプログラマなら、皆知っている。

あまりに型を軽視している。また、数値がすべてfloating pointだ。実際のほとんどの実装では、integerで差し支えない部分は、integerで計算しているわけだし、integerとfloating pointぐらいの区別は、あってもいいはずだ。

コピーと参照を明示できない。時には、オブジェクトをコピーしたいときもあるはずだ。コピーの機能ぐらい、言語として提供しているべきではないのか。また、変数のブロックレベルスコープがない。なぜこんな仕様にしたのだろう。この二つの問題を解決するため、Firefoxで実装されているJavascript 1.7のletを猛烈に欲しているのは、私だけではないだろう。

あまりにもライブラリが貧弱すぎる。Timerぐらいは、DOMに頼らず、言語側に入れてもいいはずだ。しかも、Timerが、明確に規格として規定されたのは、HTML5からだ。

しかしそれでも、Javascriptの手軽さは捨てがたい。C++とは、また違った楽しさがある。

No comments: