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

by shigemk2

当面は技術的なことしか書かない

歌舞伎座.tech#8「C++初心者会」 での発表と雑感と、初心者の定義 #kbkz_tech

C++ 勉強会

参加してきました。

kbkz.connpass.com

ドワンゴさんが毎回やっている例の勉強会です。テーマはC++。概要はこんな感じです。

今回は、勉強会への慣れをテーマに、初心者の発表経験を目的として開催します。
初心者発表枠は、まだ勉強会で発表したことがないか、発表経験の少ない人に発表する機会を持ってもらうことを目的としています。
初歩的なことでも積極的に発表してください。
20分枠は20分話さなくても構いません。
クソザコ枠はクソザコ

発表してきました。

shigemk2.github.io

タイトルから何の発表かあまり想像がつきづらいですが、初心者目線でC++のことについて発表してきました。テーマは以下です。

  • 参照とは?
  • const参照とは?
  • コンストラクタやデストラクタなどについて
  • C++コードのScalaとの比較

Scalaと比較したのは、会社がScalaのプロダクトをやっているからです。

他の人の発表に比べたら本当に初心者な発表になりましたが、これについては後述します。

そもそも初心者とはなんだったのか

ただ、上のテーマとは裏腹に、この人は初心者なのだろうか?と疑いたくなるほどにそうそうたる方々が参加されてました。

今日の発表会を端的に表しているツイートを紹介します。

恐らく、主催者側としては、「実力はあるけど知名度が低い」エンジニアをこの勉強会からすくいあげて、優秀なエンジニアをリクルートしようとする意図があったのだと思います。

ただ、「ワタシリナックスチョットデキル」よろしく初心者では決してないのに初心者を自称して楽しむ界隈が存在するのも事実で、こんなツイートもありました。

このあたりについては、主催者側の意図と参加者側の感覚とで齟齬があったのではないかと思われます。僕もどちらかといえば後者の感覚でこの会に参加していました。ですが、もう一度この勉強会のテーマを振り返ってみると

  • 今回は、勉強会への慣れをテーマに、初心者の発表経験を目的として開催します。
  • 初心者発表枠は、まだ勉強会で発表したことがないか、発表経験の少ない人に発表する機会を持ってもらうことを目的としています。

この資格に則って考え見てると、僕は発表経験が少ないかといえばそうでもないですし、そもそも勉強会を主催しています。僕自身がこの勉強会で発表する資格があったかどうかというと疑問です。その点は申し訳なく思っております。

上級者が初心者を自称して楽しむのは一部のIT勉強会の界隈にとってはある種の文化であり伝統芸能ですが、そうした文化を固持して新規参入を阻害してしまったがためにコミュニティそのものが衰退もしくは消滅してしまった例は数多くあります。逆に、間口を広げすぎてしまったがためにカオスになっているコミュニティもあるのもまた事実です。

これはいわゆるIT勉強会だけではなく、職場とか、サークルとかそういうものにも当てはまるでしょう。

僕個人としては、こういう文化が良いかどうかについてはケースバイケースだと思っています。明らかに人が減ってきていているようなコミュニティでは文化がどうとか言っている場合ではないのは間違いないですが、少なくともC++界隈とかKernelVM界隈とかはこういうノリでいいんじゃないかとは思っています。素人目に見ても、C++界隈やKernelVM界隈が衰退している界隈には見えませんし、そういう文化が、コミュニティの質を一定のレベルのものにしているのもまた事実ですから。

「初心者」のなかで僕が発表したことについて。

BoostとかSeaStarとか、記号プログラミングとかとてもハイレベルな発表の中で、僕は本当にズブの初心者がC++をイチから勉強して思ったことを発表しました。

僕はもともとはLLベースでWebアプリを開発していた人間です。たぶんいちばんよくわかっている(つもりの)言語はPHPとJavaScriptでしょう。コンパイルとか静的言語とかよくわかりません。アドレス操作もよく分かっていません。今はScalaの会社に所属していますが、まっとうなScalaエンジニアに比べたら僕は本当にまだまだだと思っています。そういう人間がC++に触れたとき、何が起こるのか。どんな気付きを得たのか。それを発表したかったわけです。あと、「初心者」たちが高度な内容を発表していくなかで本当の初心者の発表ということで差別化を図るつもりでした。

でも「初心者たち」が集まるなかで普通にC++のことを発表してもつまらないだろうということで、Scalaと比較してみたり、逆アセンブルしてみたりして、若干カオスで伝わりにくい内容となってしまったのは反省点だと思います。コメントや質問も江添さんからだけでしたし。

そもそも逆アセンブルする人間が初心者なのかどうかというと、これもちょっと疑問だったのでこれも反省点です。

これからやることってなんだろう。

とりあえずScalaの会社にいるので、Scalaを極めたいっていうのはあります。が、僕自身は池袋バイナリ勉強会に入り浸っているので低レイヤーなことをどんどん勉強していきたいなとも思っていて、今回の勉強会もわりとその一環で参加しました。「勉強会はブログを書くまでが勉強会だ」とはよく言われることですが、僕はブログを書きまくっているので、それだけでは足りないと思っています。なので、これから何を勉強したらいいのか、何をしたらいいのか、あまり良く分かっていない状況です。

これだけ高レベルな人たちの熱気に触れると、若干絶望もします。が、それでも何がしかやり続けなければいけないんだと思いました。SHIROBAKOのみゃーもりが「場数踏めば大丈夫」と新人に言っていましたが、場数を踏むのにも才能が必要です。僕にプログラミングの才能はありませんが、場数を踏むだけの才能はあると信じていますので。

おまけ。

江添さんが勉強会で知の欺瞞を紹介していましたが、僕は大学で政治学を専攻していた絡みでバークとかアレントとかハイエクとかいわゆるポストモダン系のものとは真逆のものを読み漁っていたので、単純に懐かしいなと思いました。

フランス革命の省察

フランス革命の省察

「知」の欺瞞――ポストモダン思想における科学の濫用 (岩波現代文庫)

「知」の欺瞞――ポストモダン思想における科学の濫用 (岩波現代文庫)

  • 作者: アラン・ソーカル,ジャン・ブリクモン,田崎晴明,大野克嗣,堀茂樹
  • 出版社/メーカー: 岩波書店
  • 発売日: 2012/02/17
  • メディア: 文庫
  • 購入: 2人 クリック: 27回
  • この商品を含むブログ (25件) を見る

C++ の絵本

C++ の絵本