Boost.勉強会行ってきた

Boost勉強会,Boost.懇親会に参加したので感想など.
まじめなまとめはアキラさんのページ
実際のセッションはustでの配信をご覧ください.便利な世の中だ….

リアル初遭遇

id:wraith13 さんとm0h1canさんと id:tt_clown さんと初遭遇!
tt_clownさんとはあんまり話せなかったですけど,実用(仕事?)には使ってないと意外なお言葉. 周辺ツールなら勝手に使っても(ry.
wraith13さんは作っておられるライブラリほどには悪魔っぽくなくて普通のいい人そうに見えたのですがそこがまた怖いですね. やはり似たようなものを作ってみると話の通じ方が速くて楽しかったので,次回があれば是非じっくり話したいです.
m0h1canさんはm0h1canさんでした. 名刺のようななにかを頂戴したのだが自分の名刺を渡さなくてよかっ持ってなくて残念でした. 懇親会では id:ranha さんとHaskellをdisってました. ちょいちょい突っ込んではいましたけど,私はほぼ完全に置いてけぼり….
内容はこんな感じ

  • typedマクロが必要.
  • 型推論は要らないけど型チェックは必要.
  • プリプロセス(もはやなんと言うのかわからない)時副作用が必要.
  • Eteratorとは何を指すのか?
  • 型とは発見するものなのか?発明するものなのか?わかりません><

Boost.PP , バグベアード | マクロ

質問にもありました(というか私が質問しました)が, マクロの展開履歴を確認するにはBoost.Waveでほげほげするとよさげです. この結論は米田祭りの時にも id:melpon さんから言われてはいたんですが再確認. cppをデバッガで実行というのも良さそうですが出来ればもうちょっとどうにかしたいです.

結局C++はマクロの認識する文法とコンパイラ(パーサ)が認識する文法が違うので,どうしてもマクロで扱いきれない部分が出てきてしまいますね.*1
これはCommonLispでは意図して統一されているのでマクロからプログラムの生成が簡単に出来ます. やはりマクロに関してはCLが現状最強なのかな?

プレゼン

特に並列とか並行とかが絡んでくるライブラリについては説明に必要なコードが長くなってくる傾向にある気がする.画面にコードが入りきらない感が….
Boost.Graphとかあの時間で説明するのは大変みたいだったし, Boost.Asioの id:xyuyux さんも途中で疲れたみたいですw
それでも予定の半分の時間で説明しきっちゃうkinabaさんに乾杯! というわけで,

Boost C++ Librariesプログラミング第2版

Boost C++ Librariesプログラミング第2版

運営,発表,参加者の皆さんお疲れ様でした!

*1:みんな','(コンマ)と'('(括弧)使えよ!