プログラム言語探訪 JavaScript
歴史を調べてみると1995年にNetscapeが当時のブラウザで動く言語として開発したのが始まりだとか。
当時のWebページは静的な表示、つまりユーザの操作などで表示が変わるというものはほとんどなく、「ユーザがこういう操作をしたらこういう表示をする」という動的なページを作りたいというその一心で(?)わずか数日で実装にこぎ着けたんだとか。
なるほどと思い返してみると、1990年代後半の「ホームページを作ろう」的な本とかサイトでは「時間によって挨拶を変える」というのがとりあえず最初の方に書かれていて、皆さん一生懸命コピペしていた……コピペしてたよね?
作者はコピペじゃ物足りなくてガリガリ書いてましたが。
そしJavaScriptが世に出てすぐに始まったのがブラウザ戦争。要するにシェア争いで、いくつものブラウザが「ウチのブラウザはこんなことができる!」と特徴を前面に出してアピール。同時にドンドン機能追加して「どうだ、便利だろう!」とやっていた時代でした。
その中でJavaScriptも各ブラウザに実装されると同時に、各社独自の拡張を続けていました。
あくまでもJavaScriptが「ブラウザでできることは何でもできるようにしよう」という思想の言語なので、突拍子もない機能とか、セキュリティ上問題になる機能は実装されなかったのですが、実装の仕方が問題で、同じことをさせようとしてもブラウザによって書き方が違うというのは当たり前に起こっていました。
その結果、JavaScriptの先頭なんかでブラウザの種類を判別するプログラムを書いて、その内容によって処理を分岐させるというのがごく当たり前のようにありました。
そして……あまりにもそれがひどかったので1997年に標準化が始まり、その後はブラウザごとの差異がなくなる……とは簡単にはいかなかったんですよね。
ブラウザ自体の入れ替えがなかなか進まなかったので。
ちょうどこの頃から、ある程度簡易的なものをとっかかりに、業務システムをWebアプリケーションに載せ替えていくというのが始まりました。
本格的に複雑なアプリケーションは当時のブラウザの手に負えなかったので、従来通りだったのですが、簡易的なもの――だいたい十~二十前後の入力で済むようなレベル――はWebアプリケーション化され、見事にブラウザの違いに引っかかりました。
結果、企業ごとに「ウチは○○のバージョン×を使う」と決めて、それが数年間維持される形に。その間にも次々と新しいWebアプリケーションが導入されるも、比較的古いブラウザを使い続けることになります。
※当時はブラウザが自動的にバージョンアップするという機能を持っていないことが多かったので、こういうことができた
5年もすると業務システムも見直しの時期を迎えるようになります。まあ、主な理由はサーバハードの保守切れ。そしてハードを入れ替えるとOSが入れ替わり、OSが入れ替わるとWebアプリケーションサーバも変わる。
結果、新しいブラウザに対応できるようになったりする一方、企業内では古いブラウザを使わざるを得ないWebアプリケーションが残っているので……という、まあ、アレです。システム部門の地獄が始まったわけです。
一方、JavaScript自身はドンドン進化を続けました。大きく二つの方向へ。
一つは本来のブラウザ用スクリプト言語として、AJax等が登場。表現、操作性の自由度がグッと上がり……システム開発への要求も無駄に上がりました。「○○のサイトっぽくして」とか。もちろん、その分のお金は出てこないところまでがセットです。
そしてもう一つが、サーバーサイドでのアプリケーション構築。
外部へのAPI提供をしたり、バッチ処理をしたりといった、ブラウザ外の処理をJavaScriptで書くようになったりしてます。作者も数回使いましたが……ブラウザ用と行き来しながらの開発だったので苦労しました。
そんなわけで、生まれたときと現在でずいぶん使われ方の変わってきた言語である一方、ブラウザ用スクリプトとしては唯一無二と言ってもいいような地位を確保しているので、今後も末永く使われ続けていくだろう言語。
そしてなぜか作者の会社では「Java」と間違った名前で呼ばれ続ける言語。
それがJavaScriptです。




