JavaScriptの設計は屑?
最近はAjaxの流れを受けて、Ajax多段重ねってくらいにJavaScriptにはお世話になっている。
AjaxでViewを取ってきては、さらにその中にAjaxでデータを埋め込むなんてことがざらにある。
そんな中でJavaScriptというのはどうしてもサブ的な扱いにならざるを得なくてオブジェクト指向的に組み立てるってことは少ない。
ほとんどデータのやりとりに終始してしまうためだ。
危険なロジックをクライアント側で実装するわけにいかないので、データをどう表現するか、くらいにしか扱われない。
そうしたなかで、僕は無理にオブジェクト指向をしようとしなければJavaScriptはとっても良いスクリプト言語だと思う。
確かにクラスを書いてどうのこうの、とした場合にJavaScriptを「熟知していないと」思ったように動いてくれない。
function HogeClass { function hoge() { } }
他の言語で当たり前なこの書式、こんなふうにもかけない。
でも、諸処のイベント処理やデータの橋渡しをしてくれるのにおいて、これは使いやすい言語だと思う。
もしクライアントで動くスクリプトが逆にPerlやRuby、Pythonとかだったらたぶん発狂しかねない。
なぜって? 多くのクライアントブラウザの上でそれらが必ずしも等価に動くとは保証してくれないだろうから。
や、JavaScriptだってしてはくれないよ。
でも、クライアントで動くスクリプトが(ほぼ)一種類だったことによる実績やノウハウがある。
それで、十分だ。
何かを屑だと思えばそれはもう屑以上の価値を持たない。
何かを屑だと言ってしまったら、そこで可能性は終わるのだ。