400
Post/Edit Page
C++のテンプレートはきわめてシンプルで強力なツールだが、善良な実装者のあいだではあまり歓迎されない。何か近寄りがたい存在だと思われている。なぜだろうか。▼理由のひとつに用語の混乱がありそうだ。たとえば「特殊化」。テンプレートで特殊化と呼ばれるのは実体化と明示的特殊化を合わせた広義の実体化である。このうち実体化は明示的実体化と暗黙的実体化に分かれるが、明示的特殊化に対する暗黙的特殊化なる概念は存在しない。一方、また別の概念である部分的特殊化は特殊化には含まれない。――もはや難解な哲学書である。▼もちろん、ひとたび構文を理解してモノにしてしまえば区別はたやすいが、言語の基本機能としては少々ややこしすぎる。初心者殺しと言われても仕方がないところだろう。しかも、その先ではテンプレートメタプログラミングの深淵が静かにこちらを覗いている。危険と無縁でありたい人々から遠ざけられてしまうのも無理からぬ。
pass:
Draft