あまりにも動的過ぎる。いやもちろん、動的な言語というのも悪くはない。プロパティを後から自由に追加できること自体は、別に悪くない。ただし、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:
Post a Comment
You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.