Boost.勉強会 #6 に参加してきました。

という訳で、Boost.勉強会 #6 に参加してきました。
参加した第一の感想として、すごく活動が活発だったことですね。
本州・九州から、こんな北の国にわざわざ出向いてくれたり、
Ustreamでの視聴者さんがたくさんいたりと大賑わい。
個人的にはGoogle Spreadを使用した座席表が斬新だった。


内容が高度すぎて簡単な感想のみですがあしからず。
以下、発表者の方々は敬称略で紹介します。


資料等はこちらにあります。

Boost.Geometryに学ぶテンプレートライブラリの設計(@cpp_akira)

自分の理解力ですと、前半は「Boostで図形を表現出来る便利なライブラリ群」の紹介で、
後半が

  • アダプト機構
  • コンセプト
  • コンテナ

等の概念・実装方法をわかりやすく解説してました。

関数プログラマの為のBoostとBoostユーザの為の関数プログラミング(@uskz)

えっと内容ほとんど理解できてません・・・。
その上で、アフターケアを読んでもわからないというダメっぷり。


ですので、その場の空気(雰囲気)を。
数学の話を楽しそうに、高速で読み進んでいく方だなぁっと。
そんな気分を表したツイートがこちら




でも、発表してた@uskzさんはとても楽しそうに「まだ、半分だけど時間が3分しかない」と言いつつ発表終えてました。

ContainerFacade(@fadis_)

C++STLの復習と自作コンテナを作ったよ!的な内容だったはず。
STLコンテナとそれを操作するアルゴリズムの橋渡し的な物を作るためにどうしたら良いのか。
実装の手法が語られてました。
スライドの見やすさって重要だと感じた発表でもありました。


が、見る人が見ると質問・意見が有るようで、発表後の@Cryoliteさんがたくさんリプライを送っていました。

テンプレートメタプログラミング as 式(@decimalbloat)

C++を関数型っぽく!
というのを実装してきたものの発表でした。
実際あっさりと発表してましたが、いざその構文を自分で書こうと思うと、
どう書けばいいのかわからないですね。


多分発表の時の一番の印象に残ったのが、githubのユーザ名「dechimal」

PStade.OvenとEggの実装を読む(@hotwatermorning)

Boostの拡張ライブラリPStade.Ovenの中身を見ていこうという発表。
うちのレベルからすれば、黒魔術がたくさんあった内容でした。

namespace oven = pstade::oven;
std::string const x = "ab123cde5f";
oven::copy( Range Adaptor x 
            | oven::filtered(isalpha)
            | oven::transformed(toupper),
            std::ostream_iterator<char>(std::cout) );//outputs : ABCDEF


ソースコードにしてたったこれだけなんですけど中身が〜な〜か〜み〜が〜〜〜〜。
・・・という内容でした(どんな内容・・・)
詳しくは発表資料でどうぞ。

char32_tとBoost.Xpressiveと(@egtra)

えっと、UTF-32とUTF-16文字コードに対応した文字型の紹介。
これから色んな環境で使えるようになるので、使って行きましょう!という布教。


どうせC言語じゃ使えないから関係ないや的なツイートをしたら、


というお返事が!

組み込みでこそC++を使う100の理由(@kikairoya)

南九州から来た方。多分ぶっちぎりで一番遠いです。(2400kmとか・・・)
スライドの喋ることが「C滅びろ」「C滅びろ」「C滅びろ」「C滅びろ」「C滅びろ」
もうこのイメージしか残らなかった!・・・いや他にもありますけど。


内容はよくあるC++への移行を渋るQ&Aでした。

  • C++使うと遅くなるしCでいい
  • …同じならCでよくね?
  • いや例外とかでかいじゃん
  • templateとかよくわかんないし


うち好みのお話でした。是非発表資料を見て欲しい。
発表中に「学習しないで何が技術者だ!」が名言だと思いました。

Boost.MSMの使い方(@redboltz)

この人の発表は、発表資料も必見ですが、
是非生で聴いて欲しいと思った。発表がすごく上手です。


内容は、StateMachine(状態遷移図)の書き方。
たんたんと喋っていますが、内容が分かりやすくて、すっと頭のなかに入ってくる感じがしました。


そして、設計さえしっかりすれば、ソースコードに落とせる!
という見本の発表内容であり、考え方を改める事になりました。


一つ気になったのが、最近でいう「マルチスレッド(プロセス)」にはこの開発手法を通用するのか、
もしくはやり方が有るのかどうかがちょいと気になりました。(聞いてこいよ・・・)

C++ Tips 1 #include編(@wraith13)

事細かに「#include」の機能説明を発表してました。
序盤はほぼ理解してた内容でしたが、日本語名のヘッダを読み込む方法や、
普段何気なくやってる#ifndef 〜 #define 〜 #endif のことを「インクルードガード」と読んだり、
また、インクルードガードも時と場合によってはヘッダの外でやることも有るなど、
目から鱗のお話がたくさん聞けました。
・・まさか、ストリームまでインクルードできようとは。(例:#include)


このあと、魔導少女の抽選会やって、懇親会やって、解散と相成りました。
知らないことにたくさん触れることができて良かったです。