Hace aproximadamente una década, después de un día de conferencia, me encontré en un pub con Erwin Unruh y algunos otros, y le pregunté sobre el programa que mencionó VJovic . Hemos tenido un par de cervezas para entonces, fue una reunión no oficial, y se vivió en mi cabeza durante una década, así que tómalo con un grano de sal, pero según mis recuerdos:
Dijo que habían agregado características de plantilla para servir mejor al STL. Según él, algunos / muchos en el comité sintieron que estaban creando algo sin conocer todas sus capacidades. Él mismo sospechaba que todo el material de la plantilla, especialmente la especialización parcial, formaba un lenguaje completo de Turing, y siempre quiso hacer una prueba formal de eso, pero nunca lo hizo.
En cambio, una noche en una reunión de estandarización se le ocurrió ese programa que imprimía números primos como mensajes de error (una versión que debería funcionar con los compiladores modernos está aquí ) que calculó durante la compilación. Como metaprograma de plantilla, no es muy impresionante para los estándares actuales, pero fue el primero, después de todo. Alguien hizo lo que él consideraba una broma al presentar formalmente el programa para que se convirtiera en un documento oficial de estandarización ISO.
Recuerdo que le pregunté específicamente sobre la reacción de Bjarne Stroustrup al programa, y en respuesta Erwin lo imitó cubriéndose los ojos con la mano. :)
En retrospectiva, lamento no haberle preguntado a Todd Veldhuizen , quien también estuvo en esa conferencia, cómo se le ocurrieron las plantillas de expresión . (Ciertamente era un buen tipo con el que hablar). Pero yo era mucho más joven y dejé pasar la oportunidad de toda la vida.:(