読者です 読者をやめる 読者になる 読者になる

Line 1: Error: Invalid Blog('by Esehara' )

または私は如何にして心配するのを止めてバグを愛するようになったか

>> Zanmemo

あと何かあれは 「esehara あっと じーめーる」 か @esehara まで

『マンガでわかる!関数型プログラミング』という漫画を連載することになるようです

近況

f:id:nisemono_san:20150711081321j:plain

ふとした瞬間に虚しくなることがある

いきさつ

今年、秀和システムから関数型プログラミングに関する本が出て、良くも悪くも、その本が注目を集めることになってしまいました。そんな中で色々な人が反応していましたし、自分もこのようなかたちで感想を書きました

一方で、このような本を書かれるくらいであるならば、自分で真っ当な本を書けばいいわけだし、技術書を書くことなんて、そんな敷居の高いことではないというカウンターもあり、個人的にはそれも最もだなあ、という印象がありました。その中で自分なりに関数型プログラミングについて理解したことを元にQiitaに駄文をアップしたりしていました。間違ってたら、誰かが訂正してくれるだろうし、そのほうが自分にとって勉強になるだろう、と思うので。

ですが、「関数型プログラミング」というのは「なんだか難しい」という印象を覚えるのも事実のようです。実際に、最新の『Software Design』の2015年8月号でも「なぜ関数型プログラミングは難しいのか?」という特集がされます。

ソフトウェアデザイン 2015年 08 月号 [雑誌]

ソフトウェアデザイン 2015年 08 月号 [雑誌]

自分からすれば、遥かに上のレベルにいると思える人達の中にもいるようで、例えば、関数型プログラミングコミュニティの中でも、積極的に情報発信をしている住井さんは、Twitterに下のようなことを書いています:

で、ちょっと話が飛ぶのですが、『シェルスプリクトマガジン』という、文字通りシェルスクリプトに特化した雑誌が出ていて、その本の中で、ちょまどさんという方が、漫画を連載しています。

シェルスクリプトマガジン vol.24

シェルスクリプトマガジン vol.24

  • 作者: 當仲寛哲,ちょまど,大内智明,白羽玲子,上田隆一,熊野憲辰,波田野裕一,濱口誠一,すずきひろのぶ,水間丈博,菅雄一,大岩元,鳥居高之,後藤大地,法林浩之,濱田康貴,USP研究所,ジーズバンク
  • 出版社/メーカー: USP研究所
  • 発売日: 2015/03/25
  • メディア: 雑誌
  • この商品を含むブログを見る

シェルスクリプトマガジン vol.25

シェルスクリプトマガジン vol.25

  • 作者: 當仲寛哲,よしおかひろたか,あっきぃ,大内智明,法林浩之,水間丈博,熊野憲辰,大岩元,後藤大地,白羽玲子,すずきひろのぶ,濱口誠一,ちょまど,桑原滝弥,USP研究所,ジーズバンク
  • 出版社/メーカー: USP研究所
  • 発売日: 2015/04/25
  • メディア: 雑誌
  • この商品を含むブログ (1件) を見る

「こういうのもあるんだー」と思って、ちょっと面白くなって、「そういう風にゆるい感じで、関数型プログラミング」を解説できたらいいなぁ……と思って、「急に技術系雑誌に漫画を描いてみたくなってきた(((o(゚▽゚)o)))どうやったら描けるんだろう? 編集者とのコネがいるのかな?」みたいなTweetをしたところ、まさか、『日経ソフトウェア』の人から連絡が来て:

あれよあれよという形で「じゃあ、描くことにしましょう」ということになりました。正式に契約書を交わし、確定ということになりました。

さてどうしよう

本を書くとはいえ、自分の「関数型プログラミング」に関する知識自体について、ちゃんと正直に述べたほうが公平でしょう。自分の、いわゆる「プログラマ」としての経歴は下のようになります:

こういうな散漫な感じで、確かにSICPとか、あるいは『関数型プログラミング入門』などを読んでいるものの、普段の自分からして、正確な説明をマンガに落としこむことはできなさそうだな。となると、溢れている「関数型プログラミング」と名の付いている本と、そう変わらない「不正確な記述」になっちゃうな、という懸念がありました。

もちろん、マンガはエンターテイメントなので、ある種の強引なことが出来るのは知っているのですが、やはり関数型プロパーに「この説明で納得できる」という水準を超えて、初めて「初心者向け」と言えるのではないか、という気はしています。

だったら、皆で議論すればいいじゃない

もちろん、それなりに資料を買い集め、その中でちゃんと比較しながらやっているつもりではあるのですが、とはいえ、それでは限界が多いし、初心者の初心者たるゆえは、「自分が間違っていることを間違っている」と理解できないというところがつまづきになるので、そのようなSlackチャンネルを作りました。

f:id:nisemono_san:20150712154902p:plain

このSlackチャンネルは「セミ・オープン」で、申請があれば誰でも入れるようになっています。ですので、Typeformからメールアドレスを申請して頂ければ、こちらから手動で招待しようと思っています。このように、査読してもらいながら、連載に向けて勧めています。

ステマ: esa.ioを一人で使うとちょうどいいことに気がついた

とこで、社内情報共有サービスであるところのesaなのですが、一人で情報を貯めこむのにちょうどいいことに気がついたので、現在一人チームで契約している。一人500円で、チーム全体で使うと高いけれども、自分のメモを蓄積していく分には申し分なさそう、ということで契約している。逐次、外部にシェアするリンクも発行できるので、ちょうどいいところでチャットに共有して、叩いてもらうというフローは非常によい。

f:id:nisemono_san:20150712154942p:plain

特に、今回重要だったのは、上のCode Syntaxが効くことだったので、これは本当にちょうど良かった。もしesaのMeetupみたいなのがあれば、是非このあたりの知見を共有したい。

今後について

一応、ある程度の期間は開けてもらっているのだけれど、こういう進め方をしている以上、早め早めにネームを出して、編集にチェックしてもらう、というフローをしないといけないなあ、と思っている。

この辺りのフローに関しては、恐らく珍しいと思われるので、関数プログラミング交流会で、ドキュメンタリーとして発表することにした。つまり、俺が下手を打つと、失敗談ということになるので、上手くやっていきたい。

あと、同じく技術マンガを連載しているちょまどさんを、ガンガン煽っていきたい。

まとめ

要するに:

f:id:nisemono_san:20150712153849j:plain

『新吠えろペン』3巻の11pより。名作なので買いましょう。

新吼えろペン(3) (サンデーGXコミックス)

新吼えろペン(3) (サンデーGXコミックス)

追記

これにあたって、関数型プログラミングの初心者の方、また勉強に躓いた方に質問し… - 人力検索はてなという質問を、人力検索はてなに立てました。初学者の方や、挫折した人がいらっしゃいましたら、回答してくれると助かります

蛇足

ログバーで、ClojureやIoT、AndroidやiOS開発などを中心としたもくもく会を開催します。今回はもう満員なので、さすがにというところではありますが、今後もこういった会を主催したいと思うので、よろしくお願いします。