ToDo:
http://partake.in/events/c09cd407-4e60-4a9c-9338-b3f968d30568
なんか正直期待してたより面白い資料が無いなって感じだった。
小さい変更色々。 {} での初期化、 union 、 enum 。 union は誰得感が強いけど他二つはまぁいい感じ。
https://github.com/boostcon/cppnow_presentations_2013/blob/master/mon/qt_event_loop.pdf?raw=true
Qt 話を二つほど。 ABI とかはめんどくさい話だなあっていう。
thread って入ってるやつは全部ながめたけど、見れるやつは全部どうでも良いかなーという感じだった。
http://homepage1.nifty.com/herumi/diary/1306.html#15
bag のやつは、よく見ると一応理想的な状態ならこれ、っていう線をひいておいてくれてたので、一応完全に線型に scale する場合との比較はできるようになってた気がします。がまぁテーマが単なる thread pool にしか見えなかったんですが。
https://github.com/boostcon/cppnow_presentations_2013/blob/master/thu/tmpdebug_cppnow13.pdf?raw=true
warning 埋めて template meta programming debugger とか作ってた人たちが clang いじる方針に変えてまだやってるぽい。
あとは poco ってのが boost と違って親しみが持てるコードで良いと教えてもらった。言われてみれば前にもどこかで聞いたことがある名前だったかもしれない。ざっとコード眺めてみた感じではぱっと見良い。ネットワークライブラリ出身らしいけど、イベントループが見当たらないのがへんな感じ。 Runnable とか作るための部品は結構あるぽいからなんとかなるかもだけど、 signal とかもやってなさげなのであまりやりやすくは無いかな…
ていうかそういうのしたかったら Qt ていうのが一番適切な気もする…
(20:51)
そんなのよりやっぱ普通に C++ は work group かなんかの論文だかなんだか読んでるのが面白い気がする、よくわからん子が書いたスライドより質が一定してるわけで…
でざっと TM について目を通す
https://sites.google.com/site/tmforcplusplus/
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3341.pdf
C++ への提案はこれがみやすそう。 GCC だと __transaction_atomic, __transaction_relaxed, __transaction_cancel あたりは実装されてる。 libitm ってのが Haswell なら HTM 使うかがまだよくわかってなくて、たぶん使ってくれる command line option がある気がするんで試してみたいと思っている。
http://transact2013.cse.lehigh.edu/gottschlich.pdf
C++ みたいな generic programming と lock の相性が悪いって話。分離されてたコード片の組み合わせ方によって、 lock の順番が変わる、ってのは理解ができる。でもまぁ lock が必要なようなところで template meta programming するのはそもそも筋が悪い気がするんだけどな…
http://static.usenix.org/event/hotpar09/tech/full_papers/boehm/boehm.pdf
TM はそのままプログラマに見せるんじゃなくて、 TM を使って global lock 的な semantics 見せとくのが良いよ、的な話、かな。例を見るとわかりやすい気がする。
(21:01)
Fedora release 16 (Verne) Linux 3.4.11-1.fc16.x86_64 Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz x8 7.7GB
で 55m50s
Debian GNU/Linux jessie/sid Linux 3.9-1-amd64 Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz x8 7.7GB
で 25m50s
だいぶ速いとは言える。
(21:46)
http://d.hatena.ne.jp/ku-ma-me/20130613/p1
一連の教育は他のとこも含めてまぁ…よくわからんとして、最後の「「早すぎる最適化は諸悪の根源」という考え方を教育してほしい」ってのは、まぁプログラムから学べる一般的な事象が結構あるっていうひとつのインスタンスかなぁ、と。
そのインスタンス自体は、たぶん費用対効果を考えろ、って話で、このへんの概念は割と義務教育が教えてるような、真っ向から反してるような…ってイメージのあるところだと思う。例えば試験のためだけに英単語覚える必要があるなら、人間の記憶力の構造的に試験の直前にだけ覚えるのが最も効率が良いと思うんだけど、日頃からコツコツ勉強してる人が美談として語られたりするあたり、 mame さんに書く通りまさに学校が反してる感もあるな…
他にあるのは分割統治とかかな。一回で2個所変更すると大変なことになるから、1個所ずついじって試しましょう、みたいなのも。これもまた別にプログラムじゃなくても学べることではある。
プログラム教育に力を入れるべきか、ってのに興味が持てないのは…
まぁだいたい義務教育で教えてることって、実学なようであり別に役に立たないようであり、よくわからんもんが多い、気がする。個人的には実学的な意味合いよりは、もうちょっとメタなレベルの経験値稼ぎの方が重要な気がしてるので、まぁ特定の教科が実学として有用かとかは比較的どうでもいい。ちなみにここで実学ってのは即戦力というかそういう意味で漠然と使ってますたぶん本来の意味からは少しずれてる。
メタなレベルの経験値稼ぎってのは具体的には、数学の問題について考えた時間より、数学の点数を効率よく上げるにはどうすればいいだろうか、と考えた時間の方が役に立つ気がする、っていうような話。
でまーそういうメタなとこってのはイマイチどこから学んでんだかよくわからんし、たぶん人によってきっかけが色々違うんで、何教えてもいいってのはある。
とはいえどうせ教えるなら実際に使うかもしれない知識を教える方が良い感はあるんだけど、それにプログラムが含まれるのかはサッパリわからないので、興味が持てない
(22:22)
前 | 2013年 6月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。