先日のドワンゴC++勉強会で、筆者は若いC++世代と話をする機会を得た。若いとはいえ、筆者よりせいぜい5,6年歳が離れているだけで、C++を学び始めた歳も、筆者より5,6年遅かったので、都合10年ほど、筆者より後にC++を学び始めたというだけの話だ。しかし、C++にとって、いやプログラミング全般にとって、10年はあまりにも長過ぎる。
筆者がC++を書物で学び始めた頃、まだテンプレートはまともに実装されていなかった。筆者がコンピューターを所有し、C++を実際にコンパイル出来るようになった時、ようやく主要なコンパイラーがC++を実装し始めていた。当時最新のテンプレート事情を解説した、C++ TemplatesやC++ Template Metaprogrammingを、筆者は読んでいた。C++ Templatesは、10年後の2013年に日本語に翻訳された。当時最新だった内容は、今となっては歴史的資料でしかない。
そう、筆者の次の世代は、C++を学び始めた時からautoがあり、decltypeがあり、Variadic Templatesがあるのだ。当時、我々が必死に技巧を弄してエミュレートしていた機能が、ネイティブに存在するのだ。
ああ、もう新しい世代の時代なのだ。
ところで、ドワンゴC++勉強会では、CFrontを当時現役で使っていたという世代の人にもあった。筆者は、CFrontは文献でしか知っていなかったので、驚いてしまった。しかも、まだテンプレートが実装される前のCFrontを使っていたらしい。もっと話を聞きたかったものだ。
ドワンゴ広告
この記事はドワンゴ出勤前に書かれた。
ドワンゴは本物のC++プログラマーを募集しています。
CC BY-ND 4.0: Creative Commons — Attribution-NoDerivatives 4.0 International — CC BY-ND 4.0
未定義動作ってこういうものだから、「はぁ? なんでアトミック操作のときだけ全く脈絡のない結果を禁止する必要があるの?」と思ったわけですよ。
ReplyDeleteあ、コメントするエントリ間違えた
ReplyDelete少なくともバリアの方は標準的用語で、この方面で実際にプログラミングしている人には常識です。一度「バリア同期」でググってみましょう。>聞きなれなくてややこしい
ReplyDeleteありゃ、
ReplyDeletehttp://cpplover.blogspot.jp/2014/07/2014-05-pre-rapperswil-mailing-n3990.html
の方にコメントするつもりが、間違えたみたいです>バリアの件。(おかしいなあ)
失礼しました。