Node学園祭で日本とアメリカの距離について考えた
普段 Perlに囲まれて生活している僕ですが東京Node学園祭2015参加してきました.
@yosuke_furukawa さんはじめ運営の方々、素晴らしい発表を行ってくれた発表者の方々に深く感謝です。どのセッションも素晴らしかったのだが、特に午前中B会場で行われたNode Discussionにて深く考えるところがあり、つらつらとエモいことを書きたくなった。
Node Discussion?
Node.jsの良いところ悪いところ?みんなでNodeの未来を考える!Nodeディスカッション #nodefest #nodefestB https://t.co/dwKaS2Z0za pic.twitter.com/u1gpAcJcHL
— zcqpo (@zcqpo) 2015, 11月 7
上記のような感じで会場に集まった参加者が、Node.jsのGood Point、Bad Point、Wish List をホワイトボードに貼り付けていき、これについてNode.jsの中の人たちがコメントをしていくという形進んだ座談会(?)的なセッションだった。
会場からの意見に応えるパネリストは以下の4名。改めて見てもすごいメンバーだなあ、と。
日本で生活していると普段Node.js、(に限らずコンピュータ業界でトレンドを作っているプロダクト)、の中の人の声を直接聞ける機会はそうそうあるものではないので会場は満員御礼。一部の議論しかメモできてないが自分のメモは以下のような感じ。なんとなく会場の雰囲気が伝われば嬉しい。
Native Moduleのサポートについて
- nanを使いなさい。https://github.com/nodejs/nan
- nan自体はCoreには入らない
- nanはTop Level ProjectにあるのでActiveにメンテされている
Node Source (Enterprise向けNodeを提供する会社)について
- https://nodesource.com/
-
Node.js だけで食べていけるのはよいこと
-
Enterprise Node.jsのあり方はまだ手探りな状態だが成功させたい
ES6とか未来のjavascriptについて
- Promiseが入ってCallbackは過去のものになるのは決まっている
- ES6はブラウザ向けの仕様なので、直接Nodeに入れると性能がガクッと落ちるものも多い.
- ES6の最終仕様についてはまだ揉んでいる最中. Babelが予測で勝手にサポートしていることものをES6だと思うのは時期尚早。
- BrowserサイドとClientサイドで無理してまで同じAPIを提供する必要はないだろう
Node.jsに関して中級者レベルの資料がほとんどないことについて
- 初級者とか上級者向け(Node開発者)の資料はある
- 企業での実例が増えて、それがシェアされているくことが大事.
Node coreのあり方について
- 無理にcoreを大きくする必要はないが
- 例えばnpmはユーザーランドにあるがうまくいっている.
- とはいえ、エコシステム全体のためにはcoreに強いリーダーシップが必要との意見も. 例えば、http2サポートははコアがリードしてやった方が良いなど
などなど。多岐に渡る話題についてDiscussionがおこなわれた。パネリストの間でも、個々のトピックについて意見が分かれたりしてその場でパネリスト感の議論が始まるなど、非常に聴きごたえのあるセッションだった。
本題:日本とアメリカの距離について
このDiscussionのあと大学院時代に書いた自分の以下のブログエントリをふと思い出した。
研究など... : 国際会議(ICPP'13, ICCD'13) に参加してきました
内容としては、個々人としてみれば日本人とアメリカ人の間に能力の差ってそんなに大きくないように見えるのにもかかわらず、
- 日本のCS系研究者の国際会議でのプレゼンスのなさ
- 日本から世界的に認められる研究が出てこない
ことについて、1. 日本人はほとんど国際会議の運営に携わっていない、2. どこにもPublishされていない最先端の情報に触れる機会がない、3. 結局、研究自体の質も上がらないのでますます国際会議での発表や運営に関わる機会がなくなる、という卵が先か鶏が先か、という非常に苦しい日本のCS研究界隈の状況について書いたものだ。
大学院を卒業してWeb業界で働くようになったが産業界やOSSの世界でも、全く同じことが起きているんだな、ということを感じている。つまり、GoogleやIntel級のように技術的に強いプレゼンスを持つ企業は日本に存在していないし、世界中で使われるプロダクトも(ほとんど)ない。企業内で利用されるシステム技術にしても、アメリカで流行っている技術について一生懸命キャッチアップしては、キャッチアップした瞬間には、すでに新しいものがアメリカで流行っている、ということが繰り返されているように見える。おお、これはまさに自分が日本の大学の研究室で見た光景と全く同じではないか、と。
つまり、すでに公になっている技術をキャッチアップしているだけでは「永遠に縮まらない距離」が日本とアメリカの間に確かに存在しているのだろう。
じゃあ、どうすればいいの?
この「鶏・卵」問題に取り組む上の一つの答えが、今回のNode Discussionの試みの中に見え隠れしていたように思う。「鶏・卵」問題を解決するには、今この瞬間にトレンドを作っている人たちが
- 漠然と考えていること
- これから標準仕様になるかもしれないこと
- 逆にアイディアとしては出ているけどボツになること、
等々について知り、トレンドを単純においかけるのではなく、トレンドを作っている人たちと同じ目線に立って技術を突き詰めていくことしかないと思う。
トレンドを作っている人たちと同じ目線に立とうとするときに、今回Node Discussionで行われたような生の議論、例えばTC39 Memberの@domenikが、Node.jsの中心人物の@rvaggに異を唱える場面を目の当たりにする、というのは(少なくとも自分には)気持ちの問題も含めて非常に効果的だった。
自分は今回のNode Discussionにおいて、積極的に意見したり議論したりはできなかったがこの議論の中に入りたい、入れるように努力したい、と強く思った。それは、あのDiscussionの参加者全員が強弱の差はあれど、感じたんじゃないかなあ、と思う。
そういった意味で、単純にES6がどうなるの?今後のNodeがどうなるの?というは技術的な話を越えて、Node Discussionのセッションは自分の心に残るものになった。