ふー、お疲れさんです。
二日目の収穫はこのBoFでしょうか。
「美しいコード」って何や? ってゆー
宗教論争必至のネタ。
答が出るはずもないのは百も承知。
何をしたいのか、プログラマの意図が
明快に表現されてるのが美しいコードじゃまいか。
そのとーりや思います。
でね、たとえば配列のナカミを全部プリントするコード:
vector<int> container;
for ( int i = 0; i < container.size(); ++i ) {
cout << container[i] << endl;
}
これには「配列のナカミを全部プリント」て意図とは
関係のない i とか container.size() とか container[i] とか
そんな”ノイズ”が混じってる。それよりは:
vector<int> container;
for_each( container.begin(), container.end(), [](int item) { cout << item << endl;});
の方が意図をよりピュアに表現してるよねー。美しいよねー。
てことだったんだけど、
ヒトによっちゃー(つか多くのヒトが)前者の方が「わかる」かもしんない。
for-loopってそれ自体列挙の「定石」すなわち「定型化された意図」ですからね。