MAC(ID:89/mac001)

MIT Algebraic Compiler for IBM 650 


for MIT Algebraic Compiler

Laning, Philip C. Hankins & Charles P. Werner 1957 for IBM 650 by

Used a three line format as suggested by R H Battin 1956 for a 2-dimensional input (the program needed three cards per line

Could do vectors, matrices, ordinary differential equations. True compiler of 650 machine code

Places Hardware:
Related languages
George => MAC   Evolution of
MAC => MAC-360   Evolution of
MAC => MAC-H   Port

References:
  • [Bemer, RW] [State of ACM automatic coding library May 1959] view details Extract: Obiter Dicta
    Bob Bemer states that this table (which appeared sporadically in CACM) was partly used as a space filler. The last version was enshrined in Sammet (1969) and the attribution there is normally misquoted.
          in [ACM] CACM 2(05) May 1959 view details
  • Bemer, R "ISO TC97/SC5/WGA(1) Survey of Programming Languages and Processors" December 1962 view details
          in [ACM] CACM 6(03) (Mar 1963) view details
  • Laning, J.H., Jr. and Miller, J.S., "The MAC Algebraic Language", MIT Instrumentation Laboratory report R-681, (MIT Charles Stark Draper Laboratory, Report R-681) Cambridge, Mass., November 1970 view details
          in [ACM] CACM 6(03) (Mar 1963) view details
  • Stock, Karl F. "A listing of some programming languages and their users" in RZ-Informationen. Graz: Rechenzentrum Graz 1971 144 view details Abstract: 321 Programmiersprachen mit Angabe der Computer-Hersteller, auf deren Anlagen die entsprechenden Sprachen verwendet werden kennen. Register der 74 Computer-Firmen; Reihenfolge der Programmiersprachen nach der Anzahl der Herstellerfirmen, auf deren Anlagen die Sprache implementiert ist; Reihenfolge der Herstellerfirmen nach der Anzahl der verwendeten Programmiersprachen.

    [321 programming languages with indication of the computer manufacturers, on whose machinery the appropriate languages are used to know.  Register of the 74 computer companies;  Sequence of the programming languages after the number of manufacturing firms, on whose plants the language is implemented;  Sequence of the manufacturing firms after the number of used programming languages.]
          in [ACM] CACM 6(03) (Mar 1963) view details
  • Sammet, Jean E., "Roster of Programming Languages 1972" 155 view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Wells, Mark B. "A review of two-dimensional programming languages" pp1-10 view details
          in Proceedings of the SIGPLAN symposium on Two-dimensional man-machine communication 1972 , Los Alamos, New Mexico, United States view details
  • Wells, Mark B. "A review of two-dimensional programming languages" pp1-10 view details
          in Proceedings of the SIGPLAN symposium on Two-dimensional man-machine communication 1972 , Los Alamos, New Mexico, United States view details
  • Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 346 view details Abstract: PREFACE  AND  INTRODUCTION
    The exact number of all the programming languages still in use, and those which are no longer used, is unknown. Zemanek calls the abundance of programming languages and their many dialects a "language Babel". When a new programming language is developed, only its name is known at first and it takes a while before publications about it appear. For some languages, the only relevant literature stays inside the individual companies; some are reported on in papers and magazines; and only a few, such as ALGOL, BASIC, COBOL, FORTRAN, and PL/1, become known to a wider public through various text- and handbooks. The situation surrounding the application of these languages in many computer centers is a similar one.

    There are differing opinions on the concept "programming languages". What is called a programming language by some may be termed a program, a processor, or a generator by others. Since there are no sharp borderlines in the field of programming languages, works were considered here which deal with machine languages, assemblers, autocoders, syntax and compilers, processors and generators, as well as with general higher programming languages.

    The bibliography contains some 2,700 titles of books, magazines and essays for around 300 programming languages. However, as shown by the "Overview of Existing Programming Languages", there are more than 300 such languages. The "Overview" lists a total of 676 programming languages, but this is certainly incomplete. One author ' has already announced the "next 700 programming languages"; it is to be hoped the many users may be spared such a great variety for reasons of compatibility. The graphic representations (illustrations 1 & 2) show the development and proportion of the most widely-used programming languages, as measured by the number of publications listed here and by the number of computer manufacturers and software firms who have implemented the language in question. The illustrations show FORTRAN to be in the lead at the present time. PL/1 is advancing rapidly, although PL/1 compilers are not yet seen very often outside of IBM.

    Some experts believe PL/1 will replace even the widely-used languages such as FORTRAN, COBOL, and ALGOL.4) If this does occur, it will surely take some time - as shown by the chronological diagram (illustration 2) .

    It would be desirable from the user's point of view to reduce this language confusion down to the most advantageous languages. Those languages still maintained should incorporate the special facets and advantages of the otherwise superfluous languages. Obviously such demands are not in the interests of computer production firms, especially when one considers that a FORTRAN program can be executed on nearly all third-generation computers.

    The titles in this bibliography are organized alphabetically according to programming language, and within a language chronologically and again alphabetically within a given year. Preceding the first programming language in the alphabet, literature is listed on several languages, as are general papers on programming languages and on the theory of formal languages (AAA).
    As far as possible, the most of titles are based on autopsy. However, the bibliographical description of sone titles will not satisfy bibliography-documentation demands, since they are based on inaccurate information in various sources. Translation titles whose original titles could not be found through bibliographical research were not included. ' In view of the fact that nany libraries do not have the quoted papers, all magazine essays should have been listed with the volume, the year, issue number and the complete number of pages (e.g. pp. 721-783), so that interlibrary loans could take place with fast reader service. Unfortunately, these data were not always found.

    It is hoped that this bibliography will help the electronic data processing expert, and those who wish to select the appropriate programming language from the many available, to find a way through the language Babel.

    We wish to offer special thanks to Mr. Klaus G. Saur and the staff of Verlag Dokumentation for their publishing work.

    Graz / Austria, May, 1973
          in Proceedings of the SIGPLAN symposium on Two-dimensional man-machine communication 1972 , Los Alamos, New Mexico, United States view details
  • Knuth, Donald Ervin, and Luis Trabb Pardo "The early development of programming languages" pp419-96 view details
          in Belzer, J. ; A. G. Holzman, A. Kent, (eds) Encyclopedia of Computer Science and Technology, Marcel Dekker, Inc., New York. 1979 view details
  • Battin, R. H. "Space guidance evolution - A personal narrative" Journal of Guidance, Control, and Dynamics, vol. 5, Mar.-Apr. 1982, pp97-110 view details Extract: Origins of MITILAC
    Since MAC was not then available on our IBM 650, some of the early analysis of the Atlas guidance system was made using a program, which Bob O'Keefe, Mary Petrick, and I developed, known as the MIT Instrumentation Laboratory Automatic Coding 650 Program or, simply, MITILAC. We modeled the coding format to resemble that used for the CPC. to minimize the transitional shock to those laboratory engineers who, though still uncomfortable with the digital computer, were beginning to wean themselves away from their more familiar analog devices. Extract: Origin of HAL name
    Since the principal architect of HAL was Jim Miller, who co-authored with Hal Laning a report on the MAC system, it is a reasonable speculation that the space shuttle language is named for Jim?s old mentor, and not, as some have suggested, for the electronic superstar of the Arthur Clarke movie "2001-A Space Odyssey."
    Extract: Origins and influences of MAC
    The use of and interest in George began to wane when our laboratory acquired its own stored program digital computer?an IBM type 650 Magnetic Drum Data Processing Machine?in the fall of 1954. But three years later, when tapes were available, Hal, with the help of Phil Hankins and Charlie Werner, initiated work on MAC?an algebraic programming language for the IBM 650, which was completed by early spring of 1958. Over the years MAC became the work-horse of the laboratory, and many versions were written to be hosted on the IBM 650, 704, 7090, and 360, as well as the Honeywell H800, H1800, and the CDC 3600.
    MAC is an extremely readable language having a three-line format, vector-matrix notations and mnemonic and indexed subscripts.3 (I had left the laboratory for "greener pastures" during the period of MAC's creation, and will always regret not participating in its development. But I take some solace in having originated the three-line format, which permits exponents and subscripts to assume their proper position in an equation. The idea was offered to IBM to use in Fortran but was dismissed as being "too hard to keypunch.") Unfortunately, after all these years of yeoman service, MAC seems destined to share the fate of Sanskrit, Babylonic cuneiform and other ancient but dead languages.

          in Belzer, J. ; A. G. Holzman, A. Kent, (eds) Encyclopedia of Computer Science and Technology, Marcel Dekker, Inc., New York. 1979 view details