フロントエンド界隈についての所感

Posted on April 12, 2016

フロントエンドへの複雑化について、一つの視点 とその元ネタを読んで色々と考えたので自分も何か書いてみようと思う。

元ネタの議論については個人的に結論が出ているので簡単にまとめる。まじめに論駁するのもアホらしい1が、「英語を先に学んでからプログラミングを勉強した方が、圧倒的にプログラミングの学習効率が高い」とは限らない。言いたいことは理解できるが、言葉があまりに乱暴だ。自分なら次のような表現を採用するだろう。

「英語の能力が高ければ、英語の文献や一次資料に触れる機会が増え、そこで得た知識を模倣することで、プログラミングにおける問題解決の再生産能力を高めることができる」

ここで肝心なのは英語ができるかどうかではなく、模倣するかどうかである。もし英語ができるのにも関わらず、それによって得た知識を模倣することなく、常に一から自分で再構築するという戦略を取ったらどうなるだろうか。当然ながらとてつもない時間がかかる。もちろんその副作用として、より低次元の理解が深まり、新たな発見や発明につながる可能性は高まるかもしれないが、普通はそんなリスクを取らない。

人は模倣する生物だからその前提は不要である、という反論は考えられる。剃刀で議論をめちゃくちゃにするのも結構だが、その前提が不要であることを現実のあり方に依存せずに判断できるとは思えない。実際のところ現実に起きている淘汰の影響が支配的で興味深いため、件の「法則」にはあまり意義がない。

自分の興味の赴くままにもう少し抽象的に考えてみる。“Antifragile” で、著者はシステム内のあるレイヤにも fragile な側面と antifragile な側面があると主張している。たとえば、社会は人間を犠牲にすることで堅牢さを高めるのだが、人間は細胞やタンパク質を犠牲にすることで堅牢さを高める。それぞれのレイヤには堅牢さの(瞬間的な)限界があり、人間であれば事故による死亡などがそれである。

この話をフロントエンドコミュニティに適用するとこうなる。つまり、フロントエンドコミュニティは、そのメンバーがリスクのあるツールやライブラリの改変・再生産に自分の時間を賭けることで、その適応力(堅牢さ)を高めており、一方メンバーは、ツールやライブラリの流行り廃りで、その堅牢さを高めていると言える。要するに、全体としてうまく機能しているということだ。

このような考え方(を適用すること)に対していくつか疑問が想定される。一つ一つ説明を試みる。まず、そうは言っても変化が早すぎる/遅すぎるのではないかという疑問が考えられるが、そもそも変化の早さについて一定の「適切」な観点は存在しないはずだ。変化の早さというのは、システムの諸処の制約をうまく満たすように調整されるのであって、トップダウンに決定されるものではない。あくまで個人の立場を考慮しての主張なら分からなくはないが、巨視的に見れば自分の想定しない経緯で利益や被害を受けたりするものである。

次に、模倣や改変、さらには犠牲にどこまで頼れるのか、あるいは文脈を考慮して言えば、(日本の)フロントエンドエンジニア/コミュニティは安泰なのか、について考える。生物における模倣は生存において有利な特徴を獲得するための強力な手段で、言うまでもなく実利に強く結び付いている。エンジニアも同じで、あるツールやライブラリ、パラダイムを模倣することは、自分のエンジニアとしての地位を安泰にするためにとても役立つ。改変にはバリエーションがあって、小さな改善、小さな改悪、大きな改善、大きな改悪の四つに分ければ、改変のほとんどは「大きな改善」以外で、短期的に見れば維持どころか後退することもあるだろうが、長期的には大きな改善のインパクトによりちゃんと前進するはずだ。こういった改変、もっと言えばリスクの伴う犠牲的な行動が、何で担保されるかについての強い根拠はない。そのような存在を否定する社会的な仕組みがなければ(そして実際にない)、突如としてそのような人がでてきてもおかしくないし、積極的に否定する理由が見つからない。逆に、いわゆる「保守的」な人が跳梁跋扈するようでは、コミュニティが fragileになり、ある日突然何かをきっかけに完全消滅する可能性はあるかもしれない。だが、これについてもあまり心配していない。人間の好奇心や探究心といった機構が十分に後押しするだろうと思えるからだ。

最後に、変化は良いかもしれないが無駄が多すぎるという疑問も考えられる。『ダーウィンの危険な思想』に、もし忘れることが強要されるならニュートンとシェイクスピアではニュートンを選ぶという話がでてくる。簡単に言えば、科学や技術というのはある種の必然性があるため、二人目のニュートンが出てくることに期待はできても、二人目のシェイクスピアには期待できない、というのである2。要するに科学や技術は収斂するのだ。この観点から言えば、すでに技術を獲得した人にとっては何と馬鹿な試みが多くなされているだろうと考えるのも至極真っ当であるが、単にその分野において技術が十分に収斂されていないだけであって、それを理由にその分野そのものを批判したり先行きを心配することは正当でない。技術の問題は時間が解決するであろうし、その分野固有の問題に関しては、他分野の技術より進んでいることも十分あり得る。そもそも技術というのは世界的なものであるから、ここであえて日本ではどうかを考える意義は乏しい。

以上、(日本の)フロントエンド界隈について自分は何も心配していないどころか、ある種の傲慢な自己満足を覚える理由について書いてきた。

ここからはさらに取り留めのない持論・願望を展開して終わることにする。どうも、模倣の価値は過大評価され、新規開拓(大体犠牲になる)の価値は過小評価されているように思われる。悪意があってそういう主張しているわけではない。特に後者については単に身近な経験が少ないことによるバイアスが働きやすくなっているだけだと考えている。しかしながら、このような偏った評価がなされる理由に、社会の構造や制約がまったく影響していないとも考えにくい。そういった構造や制約を解消して、新規開拓者を正当に評価すべきと言っているのではない。というのも、正当に評価されるから新規開拓者が出るとは限らないし、そういう雰囲気を醸成するのは少なくとも短期間には無理だからである。それよりも、植え付けられた非合理的な信念によって自分自身が縛られていることのほうを懸念している。私個人としては、リスクもかまわず独自路線を突き進む奇特なエンジニアが増えてくれると、面白いことにふれるきっかけが増えて大変うれしい次第である。最近はこういったことと自由意思の問題との関係について考えているが、まだ何も分かっていないので、またの機会に。


  1. 宣伝という文脈はあえて無視しています

  2. 個人的にこれについてはもっと精緻な議論が必要だと思う