MAD, and MAD (and ALGOL and FORTRAN and MADTRAN)

“While MAD was motivated by ALGOL 58, it does not resemble ALGOL 58 in any significant way”

In the nearby discussion Discovering Dennis Ritchie’s Lost Dissertation we see a reference to some programming languages:

and of course I wondered what MAD was all about. Of course, there’s a Wikipedia page for that:

and the connection with MAD magazine extends beyond the error message bearing ASCII art of the MAD mascot - Michigan asked permission from MAD to use the name, and in an amusing way, they got it.

We had some funny interaction with the Mad Magazine people, when we asked for permission to use the name MAD. In a very funny letter, they told us that they would take us to court and everything else, but ended the threat with a P.S. at the bottom - “Sure, go ahead.” Unfortunately, that letter is lost.

Kernighan is quoted:

I think that the most fun I had programming was a summer job at Project MAC at MIT in the summer of 1966, where I worked on a program that created a job tape for the brand new GE 645 in the earliest days of Multics. I was writing in MAD, which was much easier and more pleasant than the FORTRAN and COBOL that I had written earlier, and I was using CTSS, the first time-sharing system, which was infinitely easier and more pleasant than punch cards.

And as for MADTRAN:

MAD was quite fast compared to some of the other compilers of its day. Because a number of people were interested in using the FORTRAN language and yet wanted to obtain the speed of the MAD compiler, a system called MADTRAN (written in MAD) was developed. MADTRAN was simply a translator from FORTRAN to MAD, which then produced machine code

1 Like

Notably, ELIZA by Joseph Weizenbaum was done in MAD-SLIP (SLIP being a stream parser/processor). Which shouldn’t cause much of a wonder, since it was done on CTTS.

1 Like

So, Kernighan thought that writing in MAD was more pleasant and easier than writing FORTRAN. We obviously need a MAD compiler then to try, I couldn’t find one - anyone?

Edit: I found the link to Eric Raymond’s Eric S. Raymond / mad · GitLab compiler (actually MAD-to-C translator), I’ll try that one.

1 Like