OSdata.com: programming text book 

OSdata.com

history of programming languages

summary

    This web page includes a brief history of programming languages.

free computer programming text book project

If you like the idea of this project,
then please donate some money.

send donations to:
Milo
PO Box 1361
Tustin, California 92781

Google

brief history of programming languages
and other significant milestones

    There have been literally thousands of programming languages, many of which have been lost to history.

200s BCE

    The Antikythera mechanism, discovered in a shipwreck in 1900, is an early mechanical analog computer from between 150 BCE and 100 BCE. The Antikythera mechanism used a system of 37 gears to compute the positions of the sun and the moon through the zodiac on the Egyptian calendar, and possibly also the fixed stars and five planets known in antiquity (Mercury, Venus, Mars, Jupiter, and Saturn) for any time in the future or past. The system of gears added and subtracted angular velocities to compute differentials. The Antikythera mechanism could accurately predict eclipses and could draw up accurate astrological charts for important leaders. It is likely that the Antikythera mechanism was based on an astrological computer created by Archimedes of Syracuse in the 3rd century BCE.

1400s

    The Inca created digital computers using giant loom-like wooden structures that tied and untied knots in rope. The knots were digital bits. These computers allowed the central government to keep track of the agricultural and economic details of their far-flung empire. The Spanish conquered the Inca during fighting that stretched from 1532 to 1572. The Spanish destroyed all but one of the Inca computers in the belief that the only way the machines could provide the detailed information was if they were Satanic divination devices. Archaeologists have long known that the Inca used knotted strings woven from cotton, llama wool, or alpaca wool called khipu or quipus to record accounting and census information, and possibly calendar and astronomical data and literature. In recent years archaeologists have figured out that the one remaining device, although in ruins, was clearly a computer.

1800s

    Charles Babbage created the difference engine and the analytical engine, often considered to be the first modern computers. Augusta Ada King, the Countess of Lovelace, was the first modern computer programmer.

1945

    Plankalkül (Plan Calculus), created by Konrad Zuse for the Z3 computer in Nazi germany, may have been the first programming language (other than assemblers). This was a surprisingly advanced programming language, with many features that didn’t appear again until the 1980s.

1949

    Short Codecreated in 1949. This programming language was compiled into machine code by hand.

1951

    Grace Hopper starts work on A-0.

1952

    Autocode, a symbolic assembler for the Manchester Mark I computer, was created in 1952 by Alick E. Glennie. Later used on other computers.

    A-0 (also known as AT-3), the first compiler, was created in 1952 by Grace Murray Hopper. She later created A-2, ARITH-MATIC, MATH-MATIC, and FLOW-MATIC, as well as being one of the leaders in the development of COBOL.

1954

    FORTRAN (FORmula TRANslator) was created in 1954 by John Backus and other researchers at International Business Machines (now IBM). Released in 1957. FORTRAN is the oldest programming language still in common use. Identifiers were limited to six characters. Elegant representation of mathematic expressions, as well as relatively easy input and output. FORTRAN was based on A-0.

1956

    Researchers at MIT begin experimenting with direct keyboard input into computers.

    IPL (Information Processing Language) was created in 1956 by A. Newell, H. Simon, and J.C. Shaw. IPL was a low level list processing language which implemented recursive programming.

1957

    MATH-MATIC was created in 1957 by Grace Murray Hopper.

    FLOW-MATIC, also called B-0, was created in 1957 by Grace Murray Hopper.

    The first commercial FORTRAN program was run at Westinghouse. The first compile run produced a missing comma diagnostic. The second attempt was a success.

    The U.S. government created the Advanced Research Project Group (ARPA) in esponse to the Soviet Union’s launching of Sputnik. ARPA was intended to develop key technology that was too risky for private business to develop.

1958

    FORTRAN II in 1958 introduces subroutines, functions, loops, and a primitive For loop.

    IAL (International Algebraic Logic) started as the project later renamed ALGOL 58. The theoretical definition of the language is published. No compiler.

    LISP (LISt Processing) was created n 1958 and released in 1960 by John McCarthy of MIT. LISP is the second oldest programming language still in common use. LISP was intended for writing artificial intelligence programs.

1959

    COBOL (COmmon Business Oriented Language) was created in May 1959 by the Short Range Committee of the U.S. Department of Defense (DoD). The CODASYL committee (COnference on DAta SYstems Languages) worked from May 1959 to April 1960. Official ANSI standards included COBOL-68 (1968), COBOL-74 (1974), COBOL-85 (1985), and COBOL-2002 (2002). COBOL 97 (1997) introduced an object oriented version of COBOL. COBOL programs are divided into four divisions: identification, environment, data, and procedure. The divisions are further divided into sections. Introduced the RECORD data structure. Emphasized a verbose style intended to make it easy for business managers to read programs.

    LISP 1.5released in 1959.

    ERMA (Electronic Recording Method of Accounting), a magnetic ink and computer readable font, was created for the Bank of America.

1960

    ALGOL (ALGOrithmic Language) was released in 1960. Major releases in 1960 (ALGOL 60) and 1968 (ALGOL 68). ALGOL is considered to be the first second generation computer language. This was the first programming language that was designed to bemachine independent. ALGOL introduced such concepts as: block structure of code (marked by BEGIN and END), scope of variables (local variables inside blocks), BNF (Backus Naur Form) notation for defining syntax, dynamic arrays, reserved words, IF THEN ELSE, FOR, WHILE loop, the := symbol for assignment, SWITCH with GOTOs, and user defined data types.

    C.A.R. Hoare invents the Quicksortin 1960.

1962

    APL (A Programming Language) was published in the 1962 book A programming Language by Kenneth E. Iverson and a subset was first released in 1964. The language APL was based on a notation that Iverson invented at Harvard University in 1957. APL was intended for mathematical work and used its own special character set. Particularly good at matrix manipulation. In 1957 it introduced the array.

    FORTRAN IV is released in 1962.

    Simula was created by Ole-Johan Dahl and Kristen Nygaard of the Norwegian Computing Center between 1962 and 1965. A compiler became available in 1964. Simula I and Simula 67 (1967) were the first object-oriented programming languages.

    SNOBOL (StroNg Oriented symBOli Language) was created in 1962 by D.J. Farber, R.E. Griswold, and F.P. Polensky at Bell Telephone Laboratories. Intended for processing strings, the language was the first to use associative arrays, indexed by any type of key. Had features for pattern-matching, concatenation, and alternation. Allowed running code stored in strings. Data types: integer, real, array, table, pattern, and user defined types.

    SpaceWarI, the first interactive computer game, was created by MIT students Slug Russel, Shag Graetz, and Alan Kotok on DEC’s PDP-1.

1963

    Work on PL/I starts in 1963.

    Sketchpad, an interactive real time computer drawing system, was created in 1963 by Ivan Sutherland as his doctoral thesis at MIT. The system used a light pen to draw and manipulate geometric figures on a computer screen.

    ASCII (American Standard Code for Information Interchange) was introduced in 1963.

1964

    BASIC (Beginner’s All-purpose Symbolic Instruction Code) was designed as a teaching language in 1963 by John George Kemeny and Thomas Eugene Kurtz of Dartmouth College. BASIC was intended to make it easy to learn programming. The first BASIC program was run at 4 a.m. May 1, 1964.

    PL/I (Programming Language One) was created in 1964 at IBM’s Hursley Laboratories in the United Kingdom. PL/I was intended to combine the scientific abilities of FORTRAN with the business capabilities of COBOL, plus additional facilities for systems programming. Also borrows from ALGOL 60. Originally called NPL, or New Programming Language. Introduces storage classes (automatic, static, controlled, and based), exception processing (On conditions), Select When Otherwise conditional structure, and several variations of the DO loop. Numerous data types, including control over precision.

    RPG (Report Program Generator) was created in 1964 by IBM. Intended for creating commercial and business reports.

1965

    SNOBOL 3 was released in 1965.

    Attribute grammars were created in 1965 by Donald Knuth.

1966

    ALGOL W was created in 1966 by Niklaus Wirth. ALGOL W included RECORDs, dynamic data structures, CASE, passing parameters by value, and precedence of operators.

    Euler was created in 1966 by Niklaus Wirth.

    FORTRAN 66 was released in 1966. The language was rarely used.

    ISWIM (If You See What I Mean) was described in 1966 in Peter J. Landin’s article The Next 700 Programming Languages in the Communications of the ACM. ISWIM, the first purely functional language, influenced functional programming languages. The first language to use lazy evaluation.

    LISP 2 was released in 1966.

1967

    Logo was created in 1967 (work started in 1966) by Seymour Papert. Intended as a programming language for children. Started as a drawing program. Based on moving a “turtle” on the computer screen.

    Simula 67 was created by Ole-Johan Dahl and Kristen Nygaard of the Norwegian Computing Center in 1967. Introduced classes, methods, inheriteance, and objects that are instances of classes.

    SNOBOL 4 (StroNg Oriented symBOli Language) was released in 1967.

    CPL (Combined Programming Language) was created in 1967 at Cambridge and London Universities. Combined ALGOL 60 and functional language. Used polymorphic testing structures. Included the ANY type, lists, and arrays.

1968

    ALGOL 68 in 1968 introduced the =+ token to combine assignment and add, UNION, and CASTing of types. It included the IF THEN ELIF FI structure, CASE structure, and user-defined operators.

    Forth was created by Charles H. Moore in 1968. Stack based language.

    Edsger Dijkstra wrote a letter to the Communications of the ACM claiming that the use of GOTO was harmful.

1969

    BCPL (Basic CPL) was created in 1969 in England. Intended as a simplified version of CPL, includes the control structures For, Loop, If Then, While, Until Repeat, Repeat While, and Switch Case.

    B (derived from BCPL) developed in 1969 by Ken Thompson of Bell Telephone Laboratories for use in systems programming for UNIX. This was the parent language of C.

    SmallTalk was created in 1969 at Xerox PARC by a team led by Alan Kay, Adele Goldberg, Ted Kaehler, and Scott Wallace. Fully object oriented programming language that introduces a graphic environment with windows and a mouse.

    RS-232-C standard for srial communication introduced in 1969.

    UNIX created at AT&T Bell telephone Laboratories by Kenneth Thompson and Dennis Ritchie..

    ARPA creates ARPAnet, the forerunner of the Internet.

1970

    Prolog (PROgramming LOGic) was created in 1972 in France by Alan Colmerauer with Philippe Roussel. Introduces Logic Programming.

    Pascal (named for French religious fanatic and mathematician Blaise Pascal) was created in 1970 by Niklaus Wirth. Work started in 1968. Pascla intended as a teaching language to replace BASIC. Programs compiled to an intermediate P-code, that is platform independent.

    Forth used to write the program to control the Kitt Peaks telescope.

1972

    C was developed from 1969-1972 by Dennis Ritchie of Bell Telephone Laboratories for use in systems programming for UNIX.

    Pong, the first arcade video game, was introduced by Nolan Bushnell in 1972. His company was called Atari.

1973

    ML (Meta Language) was created in 1973 by R. Milner of the University of Edinburgh. Functional language implemented in LISP.

    ARPA creates Transmission Control Protocol/Internet Protocol (TCP/IP) to network together computers for ARPAnet.

1974

    SQL (Standard Query Language) was designed by Donald D. Chamberlin and Raymond F. Boyce of IBM in 1974.

    AWK (first letters of the three inventors) was designed by Aho, Weinberger, and Kerninghan in 1974. Word processing language based on regular expressions.

1975

    Scheme, based on LISP, was created by Guy Lewis Steele Jr. and Gerald Jay Sussman at MIT in 1975.

    Tiny BASIC created by Dr. Wong in 1975 runs on Intel 8080 and Zilog Z80 computers.

    RATFOR (RATional FORtran) created by Brian Kernigan in 1975. Used as a precompiler for FORTRAN.

1976

    Design System Language, a forerunner of PostScript, is created in 1976. The Forth-like language handles three dimensional databases.

    SASL (Saint Andrews Static Language) is created by D. Turner in 1976. Intended for teaching functional programming. Based on ISWIM. Unlimited data structures.

    CP/M, an operating system for microcomputers, was created by Gary Kildall in 1976.

1977

    Icon, based on SNOBOL, was created in 1977 by Ralph E. Griswold at Bell Telephone Laboratories. Structured types include list, set, and table (dictionary).

    OPS5 was created by Charles Forgy in 1977..

    FP was presented by John Backus in his 1977 Turing Award lecture Can Programming be Liberated From the von Neumann Style? A Functional Style and its Algebra of Programs.

    Modula (MODUlar LAnguage) was created by Niklaus Wirth, who started work in 1977. Modula-2 was released in 1980.

1978

    CSP was created in 1978 by C.A.R. Hoare.

1979

    Modula-2 was released in 1979. Created by Niklaus Wirth, who started work in 1977.

    VisiCalc (VISIble CALculator) was created for the Apple II personal computer in 1979 by Harvard MBA candidate Daniel Bricklin and programmer Robert Frankston.

1980

    dBASE II was created in 1980 by Wayne Ratliff at the Jet Propulsion Laboratories in Pasadena, California. The original version of the language was called Vulcan. Note that the first version of dBASE was called dBASE II.

1981

    Relational Language was created in 1981 by Clark and Gregory.

1983

    Ada was first released in 1983 (ADA 83), with major releases in 1995 (ADA 95) and 2005 (ADA 2005). Ada was created by the U.S. Department of Defense (DoD), originally intended for embedded systems and later intended for all military computing purposes. Ada is named for Augusta Ada King, the Countess of Lovelace, the first computer programmer inmodern times.

    Concurrent Prolog was created in 1983 by Shapiro.

    Parlog was created in 1983 by Clark and Gregory.

    C++ was developed in 1983 by Bjarne Stroustrup at Bell Telephone Laboratories to extend C for object oriented programming.

    PostScript was created in 1982 by a team of researchers at Xerox PARC.

    The University of California at Berkeley released a version of UNIX that included TCP/IP.

1984

    Objective C, an extension of C inspired by SmallTalk, was created in 1984 by Brad Cox. Used to write NextStep, the operating system of the Next computer.

    Standard ML, based on ML, was created in 1984 by R. Milner of the University of Edinburgh.

1985

    PageMaker was created for the Apple Macintosh in 1985 by Aldus.

1986

    Eiffel (named for Gustave Eiffel, designer of the Eiffel Tower) was released in 1986 by Bertrand Meyer. Work started on September 14, 1985.

    GAP (Groups, Algorithms, and Programming) was developed in 1986 by Johannes Meier, Werner Nickel, Alice Niemeter, Martin Schönert, and others. Intended to program mathematical algorithms.

1987

    CAML (Categorical Abstract Machine Language) was created by Suarez, Weiss, and Maury in 1987.

    Perl (Practical Extracting and Report Language) was created by Larry Wall in 1987. Intended to replace the Unix shell, Sed, and Awk. Used in CGI scripts.

    HyperCard was created by William Atkinson in 1987.

    Thomas and John Knoll created the program Display, which eventually became PhotoShop. The program ran on the Apple Macintosh.

    Adobe released the first version of Illustrator, running on the Apple Macintosh.

1988

    CLOS, an object oriented version of LISP, was developed in 1988.

    Mathematica was developed in 1986.

    Oberon was created in 1986 by Niklaus Wirth.

1989

    HTML was developed in 1989.

    Miranda (named for a character by Shakespeare) was created in 1989 by D. Turner. Based on SASL and ML. Lazy evaluation and embedded pattern matching.

1990

    Haskell was developed in 1990.

    Tim Berners-Lee of the European CERN laboratory dcreated the World Wide Web on a NeXT computer.

    In February of 1990, Adobe released the first version of the program PhotoShop (for the Apple Macintosh).

1991

    Python (named for Monty Python Flying Circus) was created in 1991 by Guido van Rossum. A scripting language with dynamic types intended as a replacement for Perl.

    Pov-Ray (Persistence of Vision) was created in 1991 by D.B.A. Collins and others. A language for describing 3D images./p>

    Linux operating system was released on September 17, 1991, by Finnish student Linus Torvalds..

1992

    Dylan was created in 1992 by Apple Computer and others. Dylan was originally intended for use with the Apple Newton, but wasn’t finished in time.

1995

    Java (named for coffee) was created by James Gosling and others at Sun Microsystems and released for applets in 1995. Original work started in 1991 as an interactive language under the name Oak. Rewritten for the internet in 1994.

    JavaScript (originally called LiveScript) was created by Brendan Elch at Netscape in 1995. A scripting language for web pages.

    PHP (PHP Hypertext Processor) was created by Rasmus Lerdorf in 1995.

    Ruby was created in 1995 by Yukihiro Matsumoto. Alternative to Perl and Python.

1996

    UML (Unified Modeling Language) was created by Grady Booch, Jim Rumbaugh, and Ivar Jacobson in 1996 by combining the three modeling languages of each of the authors.

1997

    REBOL (Relative Expression Based Object language) was created by Carl SassenRath in 1997. Extensible scripting language for internet and distributed computing. Has 45 types that use the same operators.

    ECMAScript (named for the European standards group E.C.M.A.) was created in 1997.

2000

    C# was created by Anders Hajlsberg of Microsoft in 2000. The main language of Microsoft’s .NET.

2001

    AspectJ (Aspect for Java) was created at the Palo Alto Research Center in 2001.

    Scriptol (Scriptwriter Oriented Language) was created by Dennis G. Sureau in 2001. New control structuress include for in, while let, and scan by. Variables and literals are objects. Supports XML as data structure.

2004

    Scala was created February 2004 by Ecole Polytechnique Federale de Lausanne. Object oriented language that implements Python features in a Java syntax.


return to table of contents
free downloadable college text book

previous page next page
previous page next page

free computer programming text book project

Building a free downloadable text book on computer programming for university, college, community college, and high school classes in computer programming.

If you like the idea of this project,
then please donate some money.

send donations to:
Milo
PO Box 1361
Tustin, California 92781

Some or all of the material on this web page appears in the
free downloadable college text book on computer programming.


Google

    A few recommended local services: Ayurveda healing, chiropractic healing, guitar repair, hair cutter, Macintosh repair, raw food, recording studio, sign painting, and yoga.


Made with Macintosh

    This web site handcrafted on Macintosh computers using Tom Bender’s Tex-Edit Plus and served using FreeBSD .

Viewable With Any Browser


    †UNIX used as a generic term unless specifically used as a trademark (such as in the phrase “UNIX certified”). UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Ltd.

    Names and logos of various OSs are trademarks of their respective owners.

    Copyright © 2007 Milo

    Last Updated: September 8, 2007

    Created: September 8, 2007


return to table of contents
free downloadable college text book

previous page next page
previous page next page