MAD (lenguaje de programación)
MAD (Michigan Algorithm Decoder) es un lenguaje de programación y compilador para el IBM 704 y los posteriores mainframes IBM 709, IBM 7090, IBM 7040, UNIVAC 1107, UNIVAC 1108, Philco 210-211 y el IBM S/370. Desarrollado en 1959 por Bernard Galler, Bruce Arden y Robert M. Graham en la Universidad de Míchigan, MAD es una variante del International Algebraic Language (IAL). Se usó extensamente para enseñar programación en los colegios y universidades durante los años sesenta.
MAD, MAD/I, y GOM
[editar]Hay tres compiladores MAD:
- MAD, desarrollado en 1959 en la Universidad de Míchiganpara los mainframes IBM 704 y después para los IBM 709 y IBM 7090. A mediados de los sesenta se trasladó a la Universidad de Maryland para el UNIVAC 1108. También hubo versiones disponibles para el Philco 210-211 y el UNIVAC 1107.
- MAD/I, una versión de MAD para el IBM S/360 ejecutándose sobre el Michigan Terminal System (MTS). Según iba avanzando su desarrollo, MAD/I acabó siendo prácticamente un nuevo lenguaje independiente de la versión original 7090 de MAD.
- GOM (Good Old MAD), fue una reimplementación del 7090 MAD para las series IBM S/370 de mainframes. GOM fue creado a principios de los ochenta por Don Boethner en la Universidad de Míchigan Computing Center.
Historia
[editar]MAD es una variante del International Algebraic Language (IAL). IAL fue el nombre original del que después pasó a ser ALGOL 58.
Los programas escritos en MAD incluían MAIL, RUNOFF, uno de los primeros procesadores de texto y muchas otras utilidades. MAD era muy rápido comparado con algunos de los compiladores de la época. Debido a que la gente estaba interesada en usar FORTRAN y aun así querían conseguir la rapidez de MAD, se desarrolló un sistema llamado MADTRAN (escrito en MAD). MADTRAN simplemente era un traductor de FORTRAN a MAD.
MAD/I tiene una estructura sintáctica similar a ALGOL 60 junto con funcionalidades importantes heredadas de MAD y PL/I. MAD/I fue diseñado como un lenguaje extensible. Sin embargo los compiladores MAD/I eran lentos y no acabó extendiéndose su uso como sí lo hizo el 7090 MAD.
GOM es básicamente el 7090 MAD modificado y extendido para la arquitectura del 360/370 con alguna dudosa adaptación para ajustarse a las actuales técnicas de programación y problemas. El sistema de mensajes MTS fue escrito en GOM.
"Hola, Mundo"
[editar]A continuación un ejemplo del clásico "Hello, World" con el que todo programador empieza:
PRINT FORMAT HELLOW VECTOR VALUES HELLOW=$13h0Hola, Mundo*$ END OF PROGRAM
Referencias
[editar]- An Abbreviated description of the MAD compiler language, Fernando J. Corbató, Jerome H. Saltzer, Neil Barta, and Thomas N. Hastings, M.I.T. Computation Center Memorandum CC-213, June, 1963.
- CLSYS, a program to facilitate the use of the MAD translator for large (class-size) batches, Jerome H. Saltzer, M.I.T. Computation Center Memorandum CC-204. February, 1963.
- A Computer Primer for the Mad Language, Elliott Irving Organick, 1961.
- Internal organization of the MAD translator, Arden, B. W., Galler, B. A. and Graham, R. M., pp. 28–31, CACM Volume 4 No. 1 (Jan 1961).
- An Introduction To Algorithmic Methods Using The MAD Language, Alan B. Marcovitz and Earl J. Schweppe, Macmillan, 1966.
- Brice Carnahan, University of Michigan.
- Bernard A. Galler, University of Michigan, McGraw-Hill, 1962.
- MAD at Michigan: its function & features, Arden, B. W., Galler, B. A., and Graham, R. M., pp27–28, Datamation, Volume 7 No. 12 (Dec 1961)
Enlaces externos
[editar]- A trivial example of a MAD program (en inglés)