【JavaScript】Kanasan.JSに行ってきた
土曜の午後にKanasan.JS(関西.js)へ行ってきた。
コミュニティの趣旨は「皆でprototype.jsのソースコードを解読しよう!」というもの。
「Kanasan.JS」でしか告知していないのに、25人も集まった(衝撃!)
どうやら殆どの人はTwitterを通じて知ったらしい。
わざわざこのコミュニティのために東京(!)からはるばる来た人もいたよ!
約3000行のうち300行しか解読できなかったけれど、奥深い議論が出来て楽しかった。
楽しかった感想を徒然に残す。
【1】プロトタイプチェーン~クラスとインスタンスの区別はない
JavaScriptのオブジェクト指向は、Java等とは異なり、プロトタイプベースと呼ばれる。
継承の概念がOOとプロトタイプでは大きく異なる。
その仕組みをプロトタイプチェーンと言われるらしい。
OOでは、型を継承する。
プロトタイプは、型を継承せず、親クラスのインスタンスを内部に持つ。
つまり、プロトタイプオブジェクト配下のメンバーは、プロパティみたいなもので、他のプロパティをコピーして作られる。
コンストラクタは、OOのコンストラクタではないため、すごく使いにくい。
だから、initilizeを使う。
JavaScriptのインスタンス生成はRubyのinitializeに近い。
皆の議論を聞くと、Javaで知っているオブジェクト指向と微妙に異なる点が面白かった。
【2】prototype.jsはRuby on Railsの影響を強く受けている
参加者から「ProtoTypeは、Railsの影響を強く受けている」という話を聞いて驚いた。
Railsの開発者がPrototypeの開発チームにも入っているらしい。
実際、prototype.jsには、文字列のライブラリを再定義しているのだが、そこに出てくるgsubなどは、Rubyのライブラリに非常に近い。
特にArrayはそうですよ、と。
Ruby on Railsは、JavaやPerl、PHPなどのWebフレームワークに大きな影響を与えているが、まさかJavaScriptまで影響を及ぼしているとは思ってもみなかった。
【3】最近のWeb系の技術はJavaScriptが熱い
僕が今回の催しに興味を持った理由は、最近のWeb系システムでは業務ロジックよりも、Ajaxを使ったUIプログラミングの方が要求されるスキルが高いから。
今、技術革新がサーバーサイドのJavaからフロントエンドのJavaScriptへ移りつつある気がする。
更に、prototype.js、jquery.jsは、Railsの影響を受けているのも興味を引く。
恐るべしRails。
主催者のkanasanは非常の物腰の柔らかい方で、人望が集まりそうな人。
次回もやりましょう、と声が上がった。
関西でもJavaScriptが熱くなるかな??
| 固定リンク
「プログラミング」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのモジュールシステムは複雑性をより増している(2022.09.10)
- Javaはなぜ関数型言語になろうとしているのか(2022.09.02)
- Javaのラムダ式の考え方(2022.08.10)
- Javaはオブジェクト指向言語ではなく関数型言語だった~「[増補改訂]関数プログラミング実践入門」はお勧めの本だ(2022.08.06)
コメント