エンジニアサポート新年会 2012 CROSS に行ってきた – JavaScript CROSS レポート

2012 年 1 月 27 日に開催された「エンジニアサポート新年会 2012 CROSS 」に参加してきました。ニフティ主催のイベントで、名前こそ新年会ですが実際には多くのパネルディスカッションがパラレル開催されるイベントでした。

私は、

  1. フロントエンド CROSS
  2. 次世代言語 CROSS
  3. JavaScript CROSS

の 3 つに参加してきましたが、今回は JavaScript CROSS について感想を書きます。

JavaScript CROSS 「 JavaScript 八面六臂 2 回戦」は文字通り JavaScript に関するセッションで、登壇者はそれぞれ HTML5j.org白石氏Node.js 日本ユーザグループ篠崎氏Appcelerator Plarform Evangelist の増井氏日本 Ruby の会高橋氏、タワーズクエストの和田氏の 5 名でした。

まずはじめに、各人に対して最近の JS で興味があることをモデレータから問われた各人が口を揃えて「 Node.js 」と答えたのが印象的です。特に Version 1.0 への期待が高まっている印象を受けました。

さらに、 Node.js のどこが良いのかという問いに対しては各人バラバラの答えが返ってきて、「非同期 IO とか良いんだけどそこまで非同期 IO なアプリ作らないよね」とか、「 Node は頑張らなくても体感的にも速いけど、生産性は高くないよね」とか、「そもそも Node でソース書くとコールバックに次ぐコールバックでソースの字面が異様になる」とかとか意見が出ていました。

これだけの面々が Node.js に目を向けていながら「これだから Node が良い ! 」という部分がバラバラで意見がぶつかることもあるのは面白いなぁと思います。

さらに話題は CoffeeScript や jQuery に移って、 CoffeeScript は JavaScript を理解している人が使うといいという意見とはき出される JavaScript のコードが Good Parts になっていることが多く、描き方が多様な JavaScript のフォーマットを安定させるために便利という意見が出ていました。

jQuery は登壇者の意見として、「 HTML の DOM 操作用のライブラリであって、 JavaScript が書けることとイコールではない」や「 jQuery は罪深いライブラリ」という意見が出てきました。特に罪深いライブラリのくだりは面白く、「 jQuery はグチャグチャに書いても動いちゃうのが革命的なのであって保守性は怪しいけど、 jQuery 自体のコードは良くできている」というコメントが大変印象的でした。

CoffeeScript は JavaScript を知っていればコード記述量を減らせるツールになると思います。 Ruby や Python を学んだ人が JavaScript を学ぶために CoffeeScript を使うとシンタックスが似ていても JavaScript そのものの特性はそのままなので、特性がつかみにくく返って学びを阻害することがあるかもしれません。

jQuery は前のエントリで「 JavaScript とは別物」と述べたライブラリの 1 つなのですが、今回のセッションを聞いての持論としてはやはり「別物」なのではないかという感触のままです。言語内言語という話も出ていましたが、ずばり JavaScript では無いよなぁという感じ…。

その後の展開は、 JavaScript の教え方、セキュリティ (HTML5 の Local Storage とか File Reader) や JavaScript でご飯食べられるのかという話、 JavaScript の盛り上がりを支えるもの・モチベーションは何かと続きます。

セキュリティに関してはうまく JavaScript フレームワーク・ライブラリを使うと隠せることがあるという意見や HTML5 の暗号化 API が出てくれば…という意見が出てきていました。一方で HTML/CSS/JavaScript はオープン状態になってもしょうがないよねという話もあり、ある程度割り切りが必要なところもあると考えされられます。

最後の質問タイムで私が「 ECMAScript をどう考えるか」と質問したところ、「 ECMA は独自進化していくべきだけど、 Mozilla の影響が強いのは否めない。メーリスとかで動向を追っていくと良いと思う。それが楽しみ。」という返答をもらい、セッション終了後、篠崎氏に「 ECMA の仕様はどうしてもブラウザベンダーが作った JavaScript の仕様を後追いする形になってしまう。ブラウザベンダーはやっぱり強い。複数のベンダーが作った仕様を標準化としてまとまるのが ECMA だと考えていた方が良いかもしれない」とフォローアップをいただきました。

この JavaScript CROSS 「 JavaScript 八面六臂 2回戦」は非常に面白いセッションでした。そこまで JavaScript でやるのか !? と思うようなニュースが昨年から多かったある種の「 JavaScript バブル」の中、 第一線で JavaScript に触れられている方々が意見を持ち寄り、ぶつけ合いを行うことで自分の中の JavaScript 像が少し固まった気がします。年に一度、こうしたセッションに参加してみたいですね。