title: MAD (lenguaje de programación)
text: # 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 (lenguaje de programación)
  ## MAD, MAD/I, y GOM
  
  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.
  
  # MAD (lenguaje de programación)
  ## Historia
  
  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.
  
  # MAD (lenguaje de programación)
  ## "Hola, Mundo"
  
  A continuación un ejemplo del clásico "Hello, World" con el que todo programador empieza: