next up previous
Next: RELACIÓN DEL COMPILADOR CON Up: EL CÁLCULO NUMÉRICO Y Previous: EL PUNTO DE VISTA

LA NECESIDAD DE FORMAR UN MODELO DE LOS COMPILADORES

El científico no puede pretender que comprende algo, en tanto no se haya formado un modelo de su objeto de estudio, Seymour Papert, creador de LOGO, expone en sus trabajos una filosofía educativa que, al parecer, adquirió en su niñez gracias a la familiaridad que tuvo con el funcionamiento de los relojes. Su interés le llevó a destripar varios de ellos, y el funcionamiento de la maquinaria del reloj fue un problema que para Papert quedó resuelto hasta que concibió un modelo para el mecanismo, que le permitía en su imaginación, jugar personalmente el papel de cada uno de los componentes.


La elaboración de un modelo de esta naturaleza para un compilador, constituye una base sólida cuya utilidad se proyecta hacia trabajos futuros. A partir del modelo, se puede producir un producto de mejor calidad, con un mayor nivel de organización, más libre de errores y más eficiente en el desempeño de sus propósitos. Analizar un programa con el afán de mejorarlo sustancialmente en efecto corresponde con la idea de hacer ingeniería al revés.


Los altos costos, la necesidad de una referencia fiel para el lenguaje y el atractivo de disponer de una base adecuada para el desarrollo de nuevos trabajos, fueron motivos suficientes para realizar esfuerzos orientados a obtener un programa fuente para el compilador a partir de su binario. Y mediante su análisis, formular un modelo para la operación del programa, siempre con la perspectiva de producir un producto mejorado.


El problema de la originalidad del trabajo científico tiene su historia. Uno de los casos más sonados, surgió en torno a la solución de la ecuación cúbica. El conflicto se dió entre un profesor y sus alumnos. Uno de los alumnos reunió todos los elementos del problema que se encontraban aislados y aportó algunos de ellos, publicó el trabajo sin dar al profesor ni a los demás participantes los créditos que esperaban. La molestia, tanto del profesor como de los demás involucrados, fue manifiesta. Al alumno se le calificó de ingrato, él, por su parte, quedó convencido que había salvado aquel valioso material para la posteridad. Sin su trabajo, muchos de aquellos resultados posiblemente se habrían perdido.


El primer compilador de Fortran no se elaboró a partir de nada. En la definición del lenguaje y en la elaboración del compilador se aprovechó la experiencia acumulada por mucha gente en la traducción de fórmulas algebraicas, el indexamiento de elementos de vectores y matrices, en la aritmética de punto flotante y en la conversión de valores y edición de resultados.


Por otro lado, el obtener el programa fuente de un programa complicado -a partir del binario-, analizarlo y documentarlo, puede involucrar tanto o más trabajo del que fue necesario para producirlo. Para realizar el desensamble y el análisis de un programa de la complejidad de un compilador, es necesario el desarollo de muchos y muy variados accesorios. A la vez que se resuelve el problema de obtener una referencia fiel del lenguaje, se produce también, una infraestructura de programas accesorios abundante y variada y se adquiere una considerable experiencia.


Para realizar un trabajo de esta naturaleza es necesaria una mezcla de capacidad, experiencia, entusiasmo y por encima de todo, un afán por involucrarse y participar del problema.


El resultado puede ser una copia o un original, depende del criterio. No hay muchas cosas nuevas en el mundo, pero algunas son más nuevas que otras. Un ejemplo de esto lo observamos cuando alguien estudia cálculo; comprende el material y produce su propio libro con su interpretación del tema. El contenido no es original, no puede serlo, los teoremas son los mismos que se describen en todos los demás libros, pero su valor se encuentra en el esfuerzo intelectual y en la interpretación que se aporta del tema.


next up previous
Next: RELACIÓN DEL COMPILADOR CON Up: EL CÁLCULO NUMÉRICO Y Previous: EL PUNTO DE VISTA
Microcomputadoras
2000-12-12