59. Sobre este libro¶
Un libro de introducción a la informática es una fuente de conflicto permanente. Nunca nadie estará de acuerdo con cómo lo explicas. Y lo triste de todo es que tienen razón.
La informática es una maraña de conocimientos de multitud de materias, completamente relacionados entre sí. Si se explica cómo programar un computador primero deberías explicar qué es un computador. Pero si explicas cómo es un computador moderno probablemente tengas que terminar explicando un poco de programación (e.g. Patterson & Hennessy). Si explicas algoritmos y estructuras de datos debes explicar primero un lenguaje, pero algunas estructuras de datos son parte del lenguaje. No hablemos ya si incluímos algo de análisis de prestaciones.
La forma clásica de explicar la informática es empezar en los niveles de abstracción inferiores e ir construyendo hacia los niveles superiores. Lógica digital, máquinas de estado, microprocesadores, lenguaje de programación, estructuras de datos, algoritmos.
Si hubiéramos tomado esa aproximación nos quedaríamos como mucho en un conocimiento somero de lo que es un ordenador, pero ni idea de cómo se programan, que es lo que realmente necesita un ingeniero. Vamos a asumir que el conocimiento intuitivo que posee el alumno del computador es suficiente para entender el libro. Si no es así, por favor, indícanos dónde te has atascado. Intentaremos arreglarlo.
Lo que diferencia nuestra aproximación de la mayoría es el modo en que se introduce la abstracción, desde los primeros capítulos. Ten esto en cuenta cuando propongas mejoras, no estamos dispuestos a retrasar la definicion de funciones.