Templater ble introdusert som et typesikkert alternativ til makroer. Makroer har mange problemer knyttet til at tolkningen foregår i preprosessoren. Preprosessoren modifiserer kildekoden før den sendes videre til kompilatoren. Makroekspansjonene gjøres dermed uavhengig av kompilatoren, noe som ofte leder til feilmeldinger som kan være vanskelig å tolke. Templater forsøker å løse dette problemet. Det blir tolket av kompilatoren, dermed unngår man mange av fallgruvene ved makroer.