JavaScript
JavaScript は高レベルのインタプリタ型プログラミング言語です。Brendan Eich によって考案され、ECMAScript を通じて ECMA によって言語として標準化されています。
JavaScript
Netscapeで始める
1994年、NetscapeはNavigatorブラウザのバージョン0.9をリリースし、ブラウザがウェブページと対話できるウェブスクリプト言語を切実に必要としていました。
1995年、サンはオーク言語をJavaと改名し、正式に市場に導入しました。同じ年、ネットスケープは将来のウェブスクリプト言語は「Javaに十分似ていなければならない」という決断を下しました。ネットスケープはシステム・プログラマーのブレンダン・アイヒを雇い、この「Java言語の簡易版」の設計者に指名しました。
この言語は元々Mochaと名付けられ、1995年9月にNavigator 2.0のベータ版でLiveScriptと改名され、同年12月にNetscape Navigator 2.0 Beta 3で展開された際に、NetscapeとSunによって結成された開発コンソーシアムが、プログラミング言語の流行語であるJavaに言語を乗せるために一時的にJavaScriptと改名しました。NetscapeとSunによって結成された開発コンソーシアムは、この言語をプログラミング言語Javaの「バズワード」に乗せるため、一時的にJavaScriptと改名したのですが、これが後にこの言語について世間に多くの誤解を与える原因のひとつとなりました。
しかし、ブレンダン・アイクはJavaにはまったく興味がありませんでした。会社から与えられたタスクに対応するため、彼はわずか10日間でJavascriptを設計しました。設計期間が短すぎたため、言語の細部について十分に厳密に検討されず、その結果、長い時間をかけてJavascriptで書かれたプログラムは混沌としていました。
Javascriptは、関数型プログラミングとオブジェクト指向プログラミングのハイブリッド言語です。これはBrendan EichがNetscapeと共同で決定したものです。
ブラウザ戦争
JavaScriptはブラウザで大成功を収め、マイクロソフトはその後すぐにInternet Explorer 3ブラウザ用にJScriptを導入し、市場をリードするNetscape製品に対抗しました。マイクロソフトはまた、そのウェブ技術に多くの独自オブジェクトを追加したため、マイクロソフト以外のプラットフォームやブラウザでは多くのウェブページを正しく表示することができなくなりました。言語実装の違いや、独自のドキュメントオブジェクトモデルの違いは、ウェブ上での JavaScript の普及の障害となっています。
JavaScript
1997年6月、ECMAはJavaScript言語に基づくECMAScript標準仕様ECMA-262を策定しました。1999年12月、バージョン3がリリースされ、このバージョンが最も広く使用されています。2015年6月には第6版がリリースされ、新しいブラウザはこのバージョンをサポートしています。それ以来、Internet Explorerの適応の制約から解放されたJavaScriptは毎年リリースされ、ECMAScriptの最も有名な実装の1つとなっています。
JavaScriptの設計上の欠陥と展望
- 名前空間がないため、同じ名前の関数を繰り返し定義することができ、大規模なプログラムの開発には適していません。
- 提供されている標準関数ライブラリは非常に小さく、基本的な操作しかできないため、多くの関数は使用できません。
- nullはオブジェクトが空であることを意味し、undefinedはデータが未定義であることを意味します。
- グローバル変数はコントロールが難しい。
- セミコロンを付け忘れた場合、インタープリターはエラーを報告せず、自動的にセミコロンを付けます。
- 演算子として+記号をデザインしたことで、数値の和として、または文字の連結として2つの意味を持ち、不必要に演算の複雑さを悪化させています。
- は、2つの値が等しいかどうかを判定するために使用されます。2つの値が異なる型である場合、自動変換が行われ、得られる結果は非常に直感的ではありません。
- ......
Javascriptには欠点もありますが、そのほとんどは、優れたプログラミング手法に従ったり、サードパーティのライブラリの助けを借りたりすることで回避できます。
なお、上記の内容は一部ウィキペディア、グエン・イーフェンのウェブログ、侵害と削除を参照しています。