MAD (lenguaje de programación)


MAD ( Michigan Algorithm Decoder ) es un lenguaje de programación y compilador para IBM 704 y más tarde IBM 709 , IBM 7090 , IBM 7040 , UNIVAC 1107 , UNIVAC 1108 , Philco 210-211 y, finalmente, las computadoras centrales IBM S/370 . Desarrollado en 1959 en la Universidad de Michigan por Bernard Galler , Bruce Arden y Robert M. Graham , MAD es una variante de ALGOL .idioma. Fue ampliamente utilizado para enseñar programación en colegios y universidades durante la década de 1960 y desempeñó un papel menor en el desarrollo de los sistemas operativos de computadora CTSS , Multics y Michigan Terminal System . [1]

Los archivos de la Biblioteca Histórica de Bentley de la Universidad de Michigan contienen materiales de referencia sobre el desarrollo de MAD y MAD/I, incluidos tres pies lineales de impresiones con anotaciones escritas a mano y manuales impresos originales. [2] [3] [4] [5]

Los programas escritos en MAD incluían MAIL, [14] RUNOFF , [15] uno de los primeros sistemas de procesamiento de texto y varias otras utilidades, todas bajo el Sistema de tiempo compartido compatible (CTSS). [16] Se trabajó en un diseño para un compilador MAD para Multics , pero nunca se implementó. [17]

La siguiente es una cita interesante de una entrevista con Brian Kernighan [18] cuando se le preguntó "¿Qué te enganchó con la programación?":

MAD fue bastante rápido en comparación con algunos de los otros compiladores de su época. Debido a que varias personas estaban interesadas en usar el lenguaje FORTRAN y, sin embargo, querían obtener la velocidad del compilador MAD, se desarrolló un sistema llamado MADTRAN (escrito en MAD). MADTRAN era simplemente un traductor de FORTRAN a MAD, que luego producía código de máquina. MADTRAN se distribuyó a través de SHARE . [12]

MAD/I tiene una estructura sintáctica similar a ALGOL 60 junto con características importantes del MAD original y de PL/I . [9] MAD/I fue diseñado como un lenguaje extensible. Estaba disponible para su uso en MTS y proporcionó muchas ideas nuevas que se abrieron paso en otros idiomas, pero las compilaciones de MAD/I eran lentas y MAD/I nunca se extendió a un uso generalizado en comparación con el 7090 MAD original. [11]


Salida de impresora de línea después de un error del compilador MAD en una computadora IBM 704 en la Universidad de Michigan, c. 1960