Algunos de ellos resultan familiares, más como producto del
condicionamiento que aporta la educación elemental que por el conocimiento
de los mecanismos de la traducción. Algunos otros conceptos -posiblemente los
más relevantes- resultan desconocidos, no obstante que inciden con mayor
intensidad en la eficiencia del programa de aplicación.
Para garantizar su propósito, los compiladores aplican procedimientos
sistemáticos y generales para tratar cada aspecto del programa; lo mismo para
los casos más complejos y elaborados que para los más simples. Como
resultado, en los programas que genera, el compilador incluye muchas
computaciones redundantes de las que el usuario no tiene la menor sospecha.
Estas situaciones se presentan lo mismo con el uso de matrices que con
el intercambio de datos entre subrutinas o en los elementos del control del
flujo del programa. Pero esto no es privativo de Fortran, también se presenta
en otros lenguajes como Algol, ``C'' y Pascal. Lo anterior tiene como
consecuencia que los programas producidos por los compiladores son muy
grandes y también lentos, aunque la calidad del compilador puede agudizar
el problema.
Por eso, los compiladores producen programas que realizan muchos cálculos
redundantes, que efectuan un excesivo movimiento de datos entre las
diferentes instancias de almacenamiento y que emplean estructuras de control
complejas, que en los casos simples -que son la mayoría- producen códigos ineficientes, sin que el usuario tenga conciencia de ello.