論文を頑張って読もうと思ったきっかけ

"OSSコミュニティがある日突然壊れたときにどうすればいいか"

という発表をしてきました

http://xuwei-k.github.io/slides/oss-community/#1


http://connpass.com/event/19690/

端的にいえば「論文を頑張って読もうと思ったきっかけ」がそれです。それをハッキリ自覚した数ヶ月前に以下のようなtweetしました



自分でもよくわからないし、あきらかに無理やりなこじつけな感じはあるけど、無理やりな理由でもそれをなにかエネルギーに変えて頑張れるなら、それでいいか、みたいな結論に自分の中でなりました。


もともと多少は論文読む習慣ありました。でもこの前こんなの

論文は読むのではなく代わりに読んでもらう


書いたり、最近は以前の数倍のペースで(?)、論文読んでる気がします。


別に論文じゃなくてもよかったのです。
話が色々前後するかもしれませんが、そもそも前提として

  • コミュニティは壊れるものだ、というのを誰よりも当事者として体感した
  • たとえ英語ができたとしても、たぶん自分にそれを止めるだけの力はなかった
  • Scalazにすごく貢献していてある意味現状に満足していたけど、あんな騒動が起きた以上、このまま単にメンテだけするのも辛い、物足りない(しばらくやるけど)
  • かといって、新しいライブラリに移って、そっちの開発頑張る気も起きない


みたいな思考過程でしょうか。そもそもscalazのコミッターになったのは、2, 3年前に体調崩して無職になって、ほかにやる気が起きない、けど、なぜかscalazのコードを眺めることだけはできた、ので、ひたすら眺めていたら、細かい間違いや改善点を多く見つけて、それをpull reqしていただけです。


あくまでも大枠でみれば「細かい」というか、retronymさん(色んな意味で超イケメン)がscalaz7のプロトタイプを作った時点で、枠組みは完成していた感があります。
もちろん多くの改善はしたつもりですが、Scalaという言語がHaskellのようには作らていない以上、どうしても型推論その他の理由により、あれ以上やろうとしてもScalaでは辛い面が多くでてきます。
そんな微妙な思いを感じながらの3年以上関わっていたわけですし、今もそういう思いがありつつも関わっています。


スライド中にも書きましたが、そんな思いの中で、Scalaで同じような方向性のライブラリを作り直すと言われても、ほとんどワクワクしないというか、自分には限界がある程度見えてると思ってます。
もちろん、Scala言語本体にすごく強力な機能が入れば別でしょうけれど。



そんなわけで、繰り返しになりますが

  • Scalaにおいて単に関数型なライブラリをつくるだけに情熱を注げる気がしない(でもScalazのメンテやる気持ちはある程度残ってる)
  • そもそも、non/catsが「色んな人に開かれた素晴らしいコミュニティ」みたいな目標掲げるのはいいことなのだけど、個人的にあれだけショックを受けて、コミュニティがどうしようもない理由で壊れるというのを体験をした以上、「よいコミュニティの構築」そのものに力を注ぐ気も全く起きない*1


みたいな感覚です。

で、それもあって(自作のほぼ一人で作った)テストライブラリ頑張ったりもしました


http://xuwei-k.github.io/slides/scalaprops/#1


Scalaコミュニティ卒業してHaskellコミュニティいくでもいいし、でも今すぐそれをする必然性というか、すべてのOSSコミュニティに完全に失望して引きこもろうというわけでもないので、色々考えた結果、コミュニティとかなにかより、漠然と
「基礎的な力」
を身につけたい、scalazでもcatsでも細々と(?)関わっていく上でも、英語できない代わりに(?)誰よりも正しい深い知識をつけて技術力でなぐっていきたい戦っていきたい、みたいな思いになり、それやるには
「自分が好きな関数型言語の基礎的な理論と、英語力身につけたい」
となり、それには論文読むのが一番いいよね、みたいな思考過程で論文読んでます。*2



以前は、Haskellのコードを(読めるけど)実際あまり書けない、書く気が起きないことに焦っていたけど、最近は

「別に今は書く気が起きなくても、ひたすら論文読んで知識つける経験は、将来絶対無駄にはならないだろうし、論文読むの楽しくなってきたから、ひたすら論文読もう」

みたいになりました。読むの楽しいけど、別に1回読んだだけで理解できるわけではありません。なので、何度も読んだり、時間あけて読み返したりしてます。



というわけで、なんとなくscalazと猫には関わりつつも、あきるまでひたすら論文読んで強くなっていこうと思います

*1:もとからそんなのあまりしてなかった、というのはある

*2:勿論Haskellコード読んだりもしてますが、もとから一定量読んでて、その量はあまり変わってない