Boost.勉強会 #11 に行ってきた

Boost.勉強会 #11 に行ってきた。しょうこりもなく役に立たない感想をつらつら書くよ。

C++ポケットリファレンスについて

著者の方々が出てきてC++ポケットリファレンスの紹介。通称鈍器。
日本語で初のC++11対応とのことで必見。休み時間に各所でサイン会などが行われていた。

Boostライブラリ一周の旅 - @

資料: http://www.slideshare.net/faithandbrave/boost-tour-1530
過去のを合わせた資料: http://www.slideshare.net/faithandbrave/boost-tour-1530-merge
1.51.0 から 1.53.0 の差分のお話。

  • Atomic
  • Lockfree
  • Coroutine
  • Multiprecision
  • Odeint

ライブラリで Coroutine が実装できてしまう C++ 怖い。

C++でデータをDBに保存して扱ってみよう - @

資料: http://beta.saki7.jp/slides/boost-study-11-cpp-database/
C++ で OR マッパー使って DB に読み書きする話。
思えば C++ で DB 使うって発想がなぜかなかったので、新鮮だった。
おまけな話として、C++ はデータを表示するのが苦手なので、データの処理は高速な C++ でやって、表示は軽量言語でやるのがいいのではないかって話があった。適材適所ですね。なるほどー。

The Instrumental C++ - @

資料: https://www.dropbox.com/s/8t7nfmxh7yprjzv/The%20Instrumental%20C%2B%2B.pdf
DTMの話。VST の話とか。音の波形の話とか。
よくわからなかったけどなかなか興味深い話だった。波形についてはかなり昔にかじった程度の知識(ないに等しい)しかなかったので、個人的にはもうちょっと掘り下げてみたい感じはある。

C++でぼくが忘れがちなこと - @

資料: http://www.slideshare.net/tandochin/c-22412008
タイトルの通り、C++ に関するあれやこれや、雑多なこと。
忘れがちと言うか、そもそも知らないことがかなり多かった…にわかですすいません。
typedef の位置あちこちに書けて怖い。

CilkPlus, TBB, OpenMP ‑ 並列プログラミングを支える技術 ‑ - @

資料: http://www.slideshare.net/krustf/boost-studytokyo11
並列プログラミングについて。

この辺りのライブラリ(であってるよね?)の使い方や性能の比較など。おすすめは CilkPlus か TBB らしい。
並列化は今後意識していった方がいいと思うのだけど、現実にはなかなか難しい…。
ところで Vimグローバル変数とか使いまくりで並列化とか夢のまた夢。

Hello, C++ + JavaScript World! - @

資料: http://www.slideshare.net/hecomi/hello-cppandjsworld
C++JavaScript の連携に関する様々な話。
具体例がたくさんあって、なるほど、C++JavaScript は深い関係があるのだなぁと感じた。良い。
V8 は以前からチラチラ組み込みコードを見たことがあったけど、C++ から使いやすくなってる。
node.js のライブラリ npm も C++ で書けるらしい。知らなかった。便利そう。

演算子オーバーロードと式テンプレート - @

資料: http://www.slideshare.net/Sigureya/c-22273138
30分枠だったが5分で終わってしまった。すごい。
C++ は邪の言語らしいです。

コンテナのパフォーマンス - @

資料: https://docs.google.com/file/d/0B9BH0LS6wCKId0ZPZGJoS0xtamM/edit?usp=sharing
vector は便利だけど、思考停止で「とりあえず」使うのはよくない。
コンテナは多種多様。使う道具(ライブラリ)はプロならしっかり用途に合わせて吟味すべし。
コンテナのパフォーマンスは、同じ規格のコンテナでも実装によってかなり違うらしい。
全体的に実測の話が中心だったけど、まずは各コンテナの特性を知るのが先じゃないかなぁと思った。選ぶ時の基準ってこの特性を根拠にしていいと思うし、逆に言うとそれ以上の微妙な違いは実際にプロダクトに組み込んでベンチしないとどちらがいいかなんてわからないので、汎用ベンチマークの結果は当てにならない気が。

C++14の概要(draft) - @

資料: http://www.slideshare.net/faithandbrave/c14-overview

  • 2進数リテラル
  • 実行時サイズの配列
  • 通常の関数の戻り値型推論
  • ジェネリックラムダ
  • 一般化されたラムダキャプチャ
  • constexpr関数の制限緩和
  • 変数テンプレート
  • 計量コンセプト
  • ライブラリとかの変更とかとか

なんかすごいたくさんある…。C++11 すらまともに触れてないので、一度遊んでみたいところ。

懇親会

主に Vimmer クラスタでたむろって Vim の話をしていました。おい C++ はどうした。



最近、と言うか元からって説もあるけど、C++ 全然触れてなかったので、最新の事情とか知れてとてもためになりました。ぼちぼち C++ 書く機会作っていきたいなぁ。