C++ Day @ わんくま横浜に行ってきた

8/30 のわんくま同盟の横浜勉強会にて C++ Day をやるとのこと。最近ちょっぴり C++ がおもしろくなって来始めたところなので、のこのこと行ってきた。
実のところ、わんくまって以前からちょっと興味あったけどなんかよくわかんなくて敷居を感じてて、今回も知ってる人は一緒に行った光成さんだけだよ怖いよーとか思ってんだけど、全然大丈夫だった〜というあたりは後述。


最初 STL のお話。イテレータとかもうばっしんばっしん使ってるから大丈夫! とか思ってたら、「 ++ 後付けが許されるのは小学生までだよねー」と言われて、その場で今書いてるコードからあわてて証拠隠滅したのは内緒。


続いて boost。まずは shared_ptr を見ていくというとても順当な感じで滑り出しておきながら、続く題材が Spirit って、一体なぜそんなマニアでスペシャルな?(苦笑)
まあ、C++ で初めて書いたプログラムにて boost::Spirit と Xbyak 使っちゃった人間が偉そうなことを言う資格はありませんが。
Spirit じゃなくて無難な題材ってなんだろうなあ。Xpressive とかだと馴染み度プチアップなだけで同じ穴の狢だし。lexical_cast とか?


パネルディスカッションでは C++ の入門とは? と、C++ のこれからについて。
個人的には、パネルディスカッションの中であがっていた「入門の定義」は、プログラミングの入門(掲示板などで適切な質問ができる)だったりフレームワークの入門(WIN32でごにょごにょ)だったりしてて、C++ の入門ってそれらとは別のレイヤーで存在しているんじゃないないかなーと思う。
まず、C ではメモリについて常に意識しながらコードを書き( char a[100]; return a; はアウト)、その理由をきちんと理解している必要がある(auto変数ってどこに割り当てられるんだっけ?)。さらに C++ では、意識しなくていいとわかっている場合に限り意識せずに済み( std::string st; return st; はOK)、やっぱりその理由をきちんと理解している必要がある(コピーコンストラクタってなにそれおいしいの?)。でないと、ポインタをメンバに持つクラスを書いてそのインスタンスを返す関数を書いた瞬間にハマったりする。それは特殊な状況じゃなく、C++ プログラミングの日常の光景。
なんて、発言できるはずもなく(シャイだから)、IRC でぼそっとつぶやいてみただけ。
C++ 猛者には当たり前すぎてスルーなんだろうけど、C++ 始めて3ヶ月、読むしかないと言われていた D&E も読んでないまさに入門中な自分は、こんなことが現在進行形でとっても気になってます、ということで。
あと C++ は斜陽と受け止められているらしいけれど、マシン語の眷属にしか書けない領域がある以上、C++ が無くなることはないだろうなーと思うし、逆に今 JavaRuby などで記述されている領域が C++ に置き換わることも考えられない。まあ問題がもしあるとすれば、そういった住み分けをもう少しポジティブに語りたい、くらいかなあ。


C++ の勉強会自体初めてなので比べてどうとかわからないけど、光成さんが「なかなかこんな濃いのはない」と言ってはったくらいなので、相当濃かったのだろう。でも、入門途上の人間でも十分楽しめました。


懇親会では、わんくまさん中さんに「 COO やってます」と自己紹介したら「じゃあお菓子の LT ができるね」。普通は冗談なんだろうけど、これが本気なのが わんくまクオリティw
わんくまって主に MS 関係なのかと思っていて、まあ実際の内容と参加者の大多数がそうなんだけど、MS 以外技術ネタ以外のこともどんどんやっていきたいんだとか。ふーん、じゃあ java-ja とか第1回の 197X's とか 1000speakers とかとその辺違わないんだな〜。java-ja は行ったこと無いけど。
というわけで露出領域が若干違うから目に触れないだけで、わんくまは Web っぽい人でもOKでした。LT お声がけしてもらえれば頑張りますので、よろしくです(笑)。
運営&参加者のみなさん、楽しい会をありがとうございました〜