Algunos lenguajes más jóvenes (como Java) prescinden de los "header files" y usan, en su lugar, un esquema de nombres que permite al compilador localizar los archivos fuente asociados con implementaciones de clases e interfaces (pero, al hacerlo, se restringe la libertad a la hora de nombrar archivos).