Regarding the oral interview with Kiri: Actually, a compiler or interpreter is a common example of a program that writes another program. A computer programmer usually does not actually write a program: they usually actually write a program to write a program.