著作一覧 |
今回も歯医者だ。
GoogleがJavaからJavaScriptを作るのを出したとこあたりから、JavaScriptって難しいよねとかを経由して、未来はJavaScriptの上に分厚いラッパーが乗って(今も結構厚みがある気がするけど)その上でJavaScriptとは思えぬような書き方をすることになるのではなかろうか、とか。
その状態になると、手でJavaScriptを書いたり読んだりする人は尊敬されるようになる。「先輩、どうもイベントが正しく処理されないタイミングがあるみたいなんですよ」「しょうがないな。ちょっとデバッガを起動して直接JavaScriptのソースを追ってみるか」「すげぇ、先輩、JavaScriptのソースを読めるんですか? 」「そりゃそうだよ、2005〜6年あたりじゃ直接prototype.jsを呼ぶコードを書いてたんだぜ、みんな。」「えーまじっすか〜。信じられな〜い」「お前も、プログラマーだったらJavaScriptを生でゴリゴリ書けるようにならなきゃな、はっはっは。」とか。いや、でも実際、難しいわけだが。
なんとなくジョークのほうだけメモしたが、その裏にはそれなりの考察もあるわけだったり。
Developer's Loungeが終わったあと、るいもさん、Yusukeさん、はっしーさんと茶のみモードに移行したわけだが、そこでYusukeさんからいろいろな最新技術動向を教えてもらっているうちに、将来のWebクライアント話に移行した。以下は4人のクラウドなんで僕のラウドかどうかとってもダウト(おれは語呂合わせが好きなんだよ。孤高の韻文家と小洒落て呼んでくれ。語呂合わせや韻のタップダンス(それはラップじゃないざんす)は、決して親父のギャグじゃない。だってそれは笑いで息をつまらせるこた目的にしてないんだから。つまりそもそもギャグじゃないのだ、まじめきわまるレトリック、リトミック)。
.NETスマートクライアントはそれでも個人的には業務システムには重要なんじゃないかと思うが、主流にはなれないだろう、というのはインターネット重要それ重要。
フラッシュ? あるいはCarl、それとも別のリッチクライアントな何か? あるいはスクイークプラグイン?
おれはそうとは思わない。なぜならグーグルが見ているからだ。彼らがテキストを離れることはちょっとやそっとじゃ考え付かない、思わない。
もちろん、JavaScriptには限界がある。セキュリティ境界を越えられない。
いや最近はそうでもないんですよ、とYusukeさん。フラッシュを媒介にしてローカルリソースをさわるという手法が出てきています。
すげー、良くそんなことを考え付くな、とびっくりうっかり驚いたものだが、言われてみればたしかにそれほど無茶じゃない。もともと元をただせばLiveConnect、JavaアプレットとDOMとWebクライアントをコネクトしたわけで、そこのローカルリソース側のブリッジがフラッシュになったということだろう。不可視フラッシュというのは(もしそう実装しているとして)それは逆転の発想だけどしかし筋が良い。
というように、JavaScript陣営は多士済々、他のバイナリーでは太刀打ちできないんじゃなかろうか。
Javaと同じくJavaScriptも10年たって生まれ変わったわけじゃんか。
いまやYouTubeで映像がネットワークを飛び交っているし、サーバーはナイアガラだったりCoreDuo4だったり、CPUもぶいんぶいん、メモリーてんこ盛り。っていうか、高速の人が高速なのがJavaScript、10年前ならありえない、でも確かに高速神速、JavaScript新世代が始まってるのは間違いない。
いずれにしてもテキスト重要。
と考えれば、やはり最終的にはJavaScript+DOM+アルファ(それがフラッシュかどうかはわからないけど)ではないだろうか?
いや、それにしてもJavaScriptは難しい。あれは、派遣言語にはなりえない。
それだ、それがGoogleのJava−JavaScriptのねらい目か。静的型チェックした後でコンパイルエラーをつぶしたJavaScript。
それに、JavaScriptのプロトタイプベース(というよりも、インスタンスをどんどん変形していくことができる能力と、クロージャそのもの)は、あれを作るにもってこい、つまりDSL。
そこに高速化されたネットワークがものを言う。DSLエンジン(これもJavaScriptの塊)をincludeさせることは余裕だ。(しかも、いざとなればaccept-encoding: gzip、zipがききまくるのがテキストだ)
プログラミング言語を真ん中において、VMを作る仮想化の時代はJVMと.NET Framework(CLR、Mono含む)の2強と、それに対するYARV(オウム系があったようだけど僕は良く知らないのでパス)みたいなカウンター系で大体インフラはおさまったように見える。
次のインフラは、プログラミング言語の上じゃなかろうか。
というか、Cはそういう言語だったね思い返してみれば。言語を作る言語だった。
Javaの場合、実はその上にXMLを載せられる言語だった(で、JRubyとかRhinoとかに続く)。
Ruby、なぜRuby、もその文脈で読める。マーティンファウラーとかドンボックスとかはそう読んでいるわけだろう。
(だから、Haskellもその文脈でなぜ注目を集めているかは読めるのだ、Pugs)
JavaScriptも同じではなかろうか?
すると、どうなるこうなる、リッチクライアントの記述言語はJavaScript上のDSLで、これは当分の間、フレームワークの形でいろいろなグループから百花繚乱して、最終的に有力なやつに収斂していく。
というわけで、JavaScriptがとっても重要。
etoさんが考えてるとおり、という結論だな。でも、etoさんはライブラリ/テスト重要のところまでだ。グーグルはJavaからJavaScript。もう一声(一超え)どうぞ。
河骨川—宇多川のほうを選ばなかったのはどういう理由だろうか?
#ところが、千駄ヶ谷小学校で習った記憶では、隠田川が「春の小川」(はさらさらいくよ〜)のモデルだということだったのだが、あれは単なる地元贔屓だったのかな?
東京都は、河骨川を春の小川認定しているようだ。
ジェズイットを見習え |