テンプレート (プログラミング)
C++を基にしたJavaやC#では、C++のテンプレートが引き起こした問題を避けるためテンプレートは除外された。しかし、後にテンプレートに似た機能(ジェネリクス; generics)を導入してジェネリックプログラミングに適応しようとしている。
D言語にもテンプレートは存在するが、C++のものより更に改良を加えられている。例えば、テンプレート引数として文字列や浮動小数点数、さらには変数や関数などのシンボルを渡すことができる。これにより、高階関数のテンプレート引数に文字列として渡された式をインライン化するといった手法が可能になっている。その他にも、テンプレート制約を指定できる組み込みの構文や、テンプレート引数によって実体化されるコードを変化させられるstatic if等の機能が用意されており、中にはD言語の開発メンバーなどによってC++への取り込みが提案されているものもある。
AdaはC++がテンプレートを採用する以前からジェネリクス(汎用体)を持っていたが、それはテンプレートの特殊化が行なえないなどC++のテンプレートに比して機能は制限されたものであり、C++のようなテンプレートメタプログラミングを行なうことはできなかった。