Programming Languages: History and Fundamentals

Last updated
Programming Languages: History and Fundamentals
Programming Languages History and Fundamentals.jpeg
Dust jacket with Tower of Babel illustration
Author Jean E. Sammet
CountryUnited States
LanguageEnglish
SubjectComputer programming languages
Publisher Prentice Hall
Publication date
1969
OCLC 847766251

Programming Languages: History and Fundamentals [1] is a book about programming languages written by Jean E. Sammet. Published in 1969, the book gives an overview of the state of the art of programming in the late 1960s, and records the history of programming languages up to that time. [2]

Contents

The book was considered a standard work on programming languages by professionals in the field. [3] According to Dag Spicer, senior curator of the Computer History Museum, Programming Languages "was, and remains, a classic." [4]

Contents

Programming Languages provides a history and description of 120 programming languages, with an extensive bibliography of reference works about each language and sample programs for many of them. [5] The book outlines both the technical definition and usage of each language, as well as the historical, political, and economic context of each language. [6]

Because Sammet was deeply involved in the history of programming language creation in the United States, she was able to give an insider's perspective. [3] The author excluded most programming languages used only outside the US, and excluded those she considered not to be high-level programming languages. [6]

Languages

The book covers both well-known and obscure programming languages. Among the 120 languages included in the book are:

History

Sammet pioneered the COBOL language while working at Sylvania and FORMAC (an extension of FORTRAN) while at IBM. While managing IBM's Boston Advanced Programming Department, Sammet began researching programming languages more widely and collecting documentation. Starting in 1967 she published annual reports in Computers and Automation, the first computer magazine, on the languages in use across the field of programming. [9]

Computers were new and rare in the 1960s, and were a subject of fascination that book publishers hoped to profit from. Prentice Hall approached Sammet asking her to write about FORTRAN. Sammet said that she would rather write about every programming language. Prentice Hall and IBM told her to go ahead. [9]

Sammet used her book to advocate for high-level languages at a time when assembly languages were popular and there was widespread doubt about the value of high-level languages in the field of programming. [9]

An image of the Tower of Babel was printed on the dust jacket of the book, with the names of various programming languages printed on the bricks making up the tower. A similar image had appeared on the January 1961 issue of the Communications of the ACM . [10]

See also

Related Research Articles

Computer programming is the process of performing particular computations, usually by designing and building executable computer programs. Programming involves tasks such as analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms. The source code of a program is written in one or more languages that are intelligible to programmers, rather than machine code, which is directly executed by the central processing unit. To produce machine code, the source code must either be compiled or transpiled. Compiling takes the source code from a low-level programming language and converts it into machine code. Transpiling on the other hand, takes the source-code from a high-level programming language and converts it into bytecode. This is interpreted into machine code. The purpose of programming is to find a sequence of instructions that will automate the performance of a task on a computer, often for solving a given problem. Proficient programming thus usually requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.

<span class="mw-page-title-main">COBOL</span> Programming language with English-like syntax

COBOL is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily used in business, finance, and administrative systems for companies and governments. COBOL is still widely used in applications deployed on mainframe computers, such as large-scale batch and transaction processing jobs. However, due to its declining popularity and the retirement of experienced COBOL programmers, programs are being migrated to new platforms, rewritten in modern languages or replaced with software packages. Most programming in COBOL is now purely to maintain existing applications; however, many large financial institutions were still developing new systems in COBOL as late as 2006.

<span class="mw-page-title-main">Klerer–May System</span> Programming language oriented to numerical scientific programming

The Klerer–May System is a programming language developed in the mid-1960s, oriented to numerical scientific programming, whose most notable feature is its two-dimensional syntax based on traditional mathematical notation.

The A-0 system, written by Grace Murray Hopper in 1951 and 1952 for the UNIVAC I, was an early compiler related tool developed for electronic computers. The A-0 functioned more as a loader or linker than the modern notion of a compiler. A program was specified as a sequence of subroutines and its arguments. The subroutines were identified by a numeric code and the arguments to the subroutines were written directly after each subroutine code. The A-0 system converted the specification into machine code that could be fed into the computer a second time to execute the said program.

FLOW-MATIC, originally known as B-0, was the first English-like data processing language. It was developed for the UNIVAC I at Remington Rand under Grace Hopper from 1955 to 1959, and helped shape the development of COBOL.

<span class="mw-page-title-main">Douglas McIlroy</span> American mathematician and computer scientist

Malcolm Douglas McIlroy is a mathematician, engineer, and programmer. As of 2019 he is an Adjunct Professor of Computer Science at Dartmouth College. McIlroy is best known for having originally proposed Unix pipelines and developed several Unix tools, such as spell, diff, sort, join, graph, speak, and tr. He was also one of the pioneering researchers of macro processors and programming language extensibility. He participated in the design of multiple influential programming languages, particularly PL/I, SNOBOL, ALTRAN, TMG and C++.

Information Processing Language (IPL) is a programming language created by Allen Newell, Cliff Shaw, and Herbert A. Simon at RAND Corporation and the Carnegie Institute of Technology about 1956. Newell had the job of language specifier-application programmer, Shaw was the system programmer, and Simon had the job of application programmer-user.

<span class="mw-page-title-main">Roger Moore (computer scientist)</span> American computer scientist, 1939–2019

Roger D. Moore was the 1973 recipient of the Grace Murray Hopper Award from the Association for Computing Machinery (ACM). It was given "for their work in the design and implementation of APL\360, setting new standards in simplicity, efficiency, reliability and response time for interactive systems."

<span class="mw-page-title-main">Per Brinch Hansen</span> Danish-American computer scientist

Per Brinch Hansen was a Danish-American computer scientist known for his work in operating systems, concurrent programming and parallel and distributed computing.

In computer software, a general-purpose programming language (GPL) is a programming language for building software in a wide variety of application domains. Conversely, a domain-specific programming language (DSL) is used within a specific area. For example, Python is a GPL, while SQL is a DSL for querying relational databases.

<span class="mw-page-title-main">History of programming languages</span> Aspect of history

The history of programming languages spans from documentation of early mechanical computers to modern tools for software development. Early programming languages were highly specialized, relying on mathematical notation and similarly obscure syntax. Throughout the 20th century, research in compiler theory led to the creation of high-level programming languages, which use a more accessible syntax to communicate instructions.

WATFIV, or WATerloo FORTRAN IV, developed at the University of Waterloo, Canada is an implementation of the Fortran computer programming language. It is the successor of WATFOR.

FORMAC, the FORmula MAnipulation Compiler, was the first computer algebra system to have significant use. It was developed by Jean E. Sammet and her team, as an extension of FORTRAN IV. The compiler was implemented as a preprocessor taking the FORMAC program and converting it to a FORTRAN IV program which was in turn compiled without further user intervention.

Jean E. Sammet was an American computer scientist who developed the FORMAC programming language in 1962. She was also one of the developers of the influential COBOL programming language.

AIMACO is an acronym for AIr MAterial COmpiler. It began around 1959 as the definition of a high level programming language influenced by the FLOW-MATIC language, developed by UNIVAC, and the COMTRAN programming language, developed by IBM. AIMACO, along with FLOW-MATIC and COMTRAN, were precursors to the COBOL programming language and influenced its development.

<span class="mw-page-title-main">History of compiler construction</span>

In computing, a compiler is a computer program that transforms source code written in a programming language or computer language, into another computer language. The most common reason for transforming source code is to create an executable program.

Mary Kenneth Keller, B.V.M. was an American Catholic religious sister, educator and pioneer in computer science. She was the first person to earn a Ph.D. in computer science in the United States. Keller and Irving C. Tang were the first two recipients of computer science doctorates.

Albert Eugene Smith (1907-1973) was a computing pioneer who worked for the U.S. Navy following World War II. He founded the Digital Computer Newsletter published by the Navy from 1949 through 1968. Smith also participated in the development of the COBOL programming language.

George H. Mealy was an American mathematician and computer scientist who invented the namesake Mealy machine, a type of finite state transducer. He was also a pioneer of modular programming, one of the lead designers of the IPL-V programming language, and an early advocate of macro processors in assembly language programming.

References

  1. Sammet, Jean E. (1969). Programming Languages: History and Fundamentals. Prentice-Hall, Inc. ISBN   9780137299881.
  2. Sammet, Jean E. (1985). "Brief Summary of the Early History of COBOL". Annals of the History of Computing. IEEE. 7 (4): 288–303. doi:10.1109/MAHC.1985.10044. S2CID   23933737.
  3. 1 2 Gürer, Denise (1995). "Pioneering Women in Computer Science" (PDF). Communications of the ACM. 38 (1): 45–54. doi:10.1145/204865.204875. S2CID   6626310.
  4. Lohr, Steve (June 4, 2017). "Jean Sammet, Co-Designer of a Pioneering Computer Language, Dies at 89". The New York Times.
  5. Shapiro, Harvey A.; Kriebel, Charles H. (1969). "Review of "Programming Languages: History and Fundamentals, by (Miss) Jean E. Sammet." Prentice-Hall, Inc. (1969)". ACM SIGMIS Database. 1 (2): 15. doi:10.1145/1017466.1017471. S2CID   12845294.
  6. 1 2 Abrahams, Paul (April 1970). "Reviewed Work: Programming Languages: History and Fundamentals by Jean E. Sammet". Mathematics of Computation. 24 (110): 500–501. doi:10.2307/2004521. JSTOR   2004521.
  7. Spitzer, J. F.; Robertson, J. G.; Neuse, D. H. (1964). The Colingo System Design Philosophy (Report). National Technical Reports Library.
  8. Bourne, Charles P.; Hahn, Trudi Bellardo (August 1, 2003). A History of Online Information Services, 1963-1976. MIT Press. pp. 21–24. ISBN   9780262025386.
  9. 1 2 3 Bergin, Thomas J. (December 2009). "Jean Sammet: Programming Language Contributor and Historian, and ACM President". Annals of the History of Computing. 14 (3): 76–85. doi:10.1109/MAHC.2009.14. S2CID   42988189.
  10. Ralston, Anthony (1988). "Babel and Newspeak in 1984". A Computer Science Reader. Springer. pp. 12–13. doi:10.1007/978-1-4419-8726-6_4. ISBN   978-1-4612-6458-3.