こんにちは!
ナビゲータのEVEです。
JavaScriptって知っています?名前からJavaとつくので、何となく親戚のような雰囲気を出していますが、実は全く関係がありません。ただ、今まで知りませんでしたが、以前からオブジェクト指向という扱いだったらしいです。プログラミングしていてオブジェクトもどきという気がしていましたが・・・。
JavaScriptって他のプログラミング言語と違って、クライアント側で動作する(サーバーサイトで動作するモノもありました)ため、ユーザーがそのプログラムを見ることができます。たまたまアクセスしたサイトで面白い動作をするサイトがあったので、そのソースを見たのですが、自分が作ったことがないような作りになっていました。それがどうもオブジェクト指向のJavaScriptと言われるモノだったらしいのです。それが分かった、今でも、難解複雑なそのようなプログラミングをするつもりはありません。
PHP5は過去に、オブジェクト指向言語ではないとインターネットでは言われてきました。多分オブジェクト言語だと言っていたのは、私が運営しているサイトぐらいです。ただ、そのPHP5と比較してもオブジェクト指向とは言えないような言語体系にもかかわらずオブジェクト指向として扱われてきたのは非常に疑問です。
2015年に、JavaScriptの標準化バージョンECMAScript 2015がリリースされたことにより、本格的に普通の人が知っているオブジェクト指向言語になったようです。
[ECMAScript 2015]
ECMAScript 2015の公開は、2011年で、その4年を経て正式リリースとなったようです。標準化団体は、欧州電子計算機工業会(ECMA: European Computer Manufacturers Association)で、その団体の略称を頭につけているようです。
標準化と言われると、統一された言語なのに何かおかしな気がしますが、そもそも、JavaScriptは、Netscape社のNetscape上で動作するプログラムでした。それが、Internet Explorerなどのいろいろなブラウザでもサポートされるようになりました。そうです。JavaScriptはブラウザによりその動作を異にします。顕著なのが文字コードの扱い方です。NetScape系は文字列を1バイトで認識しますが、IE系は、1文字は1文字として認識します。これ以外にもいろいろな違いがあるのですが、とりあえず、ブラウザにより動作が違い、その動作の違いを標準化しようとした団体があったと言うことです。
[ECMAScript 2015]
実は、PHPをオブジェクト指向言語として書き換えようとしている現在、JavaScriptもオブジェクト指向言語に書き換えようかと考えています。今とほほのサイトで言語仕様を確認しているのですが、JavaとかPHPを見ているような、なじみのある言語体系となっています。インターフェースとか抽象クラスとか言った部分については限定的で、本格的なオブジェクト指向言語となるのにはまだ、時間がかかりそうです。ただ、方向性としては、同機能もサポートする方向にあるようなので、その機能が導入されることを意識してプログラミングした方がいいようです。
[あとがき]
明日からしばらく、ゼロからはじめるシステム開発、システムエンジニアが目指す中小企業診断士ともに更新をお休みします。たまには休みを取りませんと・・・。
この休み中、休み明け何をするのかじっくり考えながら過ごしたいと思います。
では、また!
■JavaScript って何?(とほほ)
https://www.tohoho-web.com/js/what.htm#ECMAScript
【このカテゴリーの最新記事】