Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
MAD (programming language)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== History == While '''MAD''' was motivated by [[ALGOL 58]], it does not resemble ALGOL 58 in any significant way.<ref name=MADSammet>[https://hopl.info/showlanguage.prx?exp=92 ''Computer Languages - Principles and History'']</ref><ref>In August 2010 when asked about Jean's Sammet's statement that "MAD does not resemble ALGOL 58 in any significant way", Bruce Arden wrote: "Regarding Jean Sammet, she may have conflated the two versions of IAL (58 and [[ALGOL 60|60]]). Unlike the later version, the 58 version said nothing about what words (or language) should be used to identify conditional and transfer statements, which led for parsing reasons to words like WHENEVER. Also there were some additional features in MAD that went beyond the 58 specs."</ref> Programs written in MAD included MAIL,<ref>[http://www.multicians.org/thvv/mail-details.html Documentation and Source for Early Electronic Mail and Messaging], Tom Van Vleck</ref> [[RUNOFF]],<ref>"... Doug McIlroy and Bob Morris wrote Multics runoff in BCPL based on Jerry Saltzer's MAD version of RUNOFF for CTSS.", [https://multicians.org/features.html#tag177 "Multics Software Features: Section 1.7.7"], Multicans Web site. Retrieved November 10, 2018.</ref> one of the first text processing systems, and several other utilities all under [[Compatible Time-Sharing System]] (CTSS).<ref>[http://www.multicians.org/thvv/compatible-time-sharing-system.pdf ''Compatible Time-Sharing System (1961-1973): Fiftieth Anniversary Commemorative Overview''], David Walden and Tom Van Vleck (Eds), 2011, IEEE Computer Society. Retrieved November 10, 2018.</ref> Work was done on a design for a MAD compiler for [[Multics]], but it was never implemented.<ref>[http://www.multicians.org/mgm.html "Glossary of Multics acronyms and terms"], Tom Van Vleck, Multicans Web site.</ref> The following is an interesting quote from ''An Interview with [[Brian Kernighan]]''<ref>{{cite web |url=http://broadcast.oreilly.com/2009/04/an-interview-with-brian-kernig.html |title=An Interview with Brian Kernighan: Breeding Little Languages |last=Noren |first=Allen |date=April 10, 2009 |website=O'Reilly Community |access-date=July 28, 2023 |archive-url=https://web.archive.org/web/20170630062507/http://broadcast.oreilly.com/2009/04/an-interview-with-brian-kernig.html |archive-date=June 30, 2017}}</ref> when he was asked "What hooked you on programming?": :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. 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. MADTRAN was distributed through [[SHARE (computing)|SHARE]].<ref name=MADSammet/> '''MAD/I''' has a syntactic structure similar to [[ALGOL 60]] together with important features from the original MAD and from [[PL/I]].<ref name=MADIManual/> MAD/I was designed as an extensible language. It was available for use under [[Michigan Terminal System|MTS]] and provided many new ideas which made their way into other languages, but MAD/I compilations were slow and MAD/I never extended itself into widespread use when compared to the original 7090 MAD.<ref name=GOMManual/> '''GOM''' is essentially the 7090 MAD language modified and extended for the 360/370 architecture with some judicious tailoring to better fit current programming practices and problems.<ref name=GOMManual/> The [[Michigan Terminal System|MTS]] Message System was written in GOM.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)