PC Programming

History of Programming Languages

Evolution

Programming Languages

Home Top

Machine Language

This is in fact the only language that a computer (or beter said a processor) understands and can execute (directly into the hardware). Machine language exists solely out of the binary symbols 0 and 1 and is thus inappropriate for use by humans. Every computer program written in any programming language must be converted to machine language by either a compiler or an interpreter. Furthermore, machine language depends on the processor and is thus not portable in any way.

Home Top

Assembler

To ease programming, a mnemonic representation of machine language was introduced. This makes assembler very low-level, dependent on the processor and incredible fast.

Home Top

Fortran

Meaning FORmula TRANslation
Development
  • IBM Laboratoria
  • John Backus
  • Started in 1954, first compiler: 1958
Comments
  • Developed for scientific-numeric purposes
  • The inheritance from the past is a big burden on the language.
  • The recent FORTRAN-90 standard provides support for structured programming.

Home Top

Lisp

Meaning LISt Processing
Development 1958
Comments
  • Designed for the manipulation of symbols and patterns (characters, words,...)
  • Functional language, based on the backtracking paradigm.
  • Contrary to an array in procedural languages, a list is the primary build-in datastructure.
  • One of the most popular languages for Artificial Intelligence.

Home Top

COBOL

Meaning COmmon Business Oriented Language
Development
  • USA army
  • Colonel Gracy Hopper
  • 1959
Comments
  • Designed for administrative purposes. The project served to demonstrate that it was possible to program a computer using plain English, which was considered as an ideal at that time.
  • Basically unstructured, although some versions now even provide support for object oriented programming in some form of cobol.
  • Still very widely used for administrative purposes (cfr. the Y2K and Euro issues)
  • The language provides a lot of feature oriented towards records and large files.

Home Top

PL/I

Meaning Programming Language I
Development +/- 1964
Comments
  • One of the goals was to combine FORTRAN and COBOL (which turn out to be a monumental failure). It was better than COBOL but not as efficient as FORTRAN.
  • The language was pretty well structured for its time, but was overly complex for the moderate programmer.
  • Disappeared completely.

Home Top

ALGOL

Meaning ALGOrithmical Language
Development
  • Edsger Dijksta, Nicolaus Wirth, Naur
  • 1958
Comments
  • Designed to be the successor of FORTRAN (which didn't succeed).
  • Strongly structured, very powerful and elegant
  • Algol has never really made it, but the language stood model for almost all following languages. This language had a major impact on the evolution of programming languages.

Home Top

BASIC

Meaning Beginners All-purpose Symbolic Instruction Code
Development
  • Dartmounth College (New Hampshire, USA)
  • J. Kemeny and T. Kurtz
  • 1965
  • First BASIC compiler: 1985 (Microsoft QuickBasic)
Comments
  • BASIC was specifically oriented towards hobbyist, to let them experiment with programming and to let them solve small and simple problems.
  • Originally, the language was interpreted but soon also compilers were developed.
  • The language was completely unstructured and very poorly typed, but became popular again in its object oriented reincarnation as Microsoft Visual Basic, which was used as the basis for Visual Basic.NET.
  • In the early days there were thousands of dialects.

Home Top

Simula

Meaning SIMULAtion
Development
  • Ole-Johan Dahl, Kristen Nygaard (Norway)
  • 1967
Comments
  • Designed for simulation and modeling purposes, however, the language could be used as a general-purpose language.
  • First language with object oriented features.
  • Was never really successful.

Home Top

Logo

Meaning ?
Development
  • Massachusetts Institute of Technology (MIT)
  • 1968
  • Seymour Papert
Comments "A versatile computer language that provides a friendly introduction to programming, a serious tool for advanced programmers and a medium for educational discovery" (Seymour Papert)

Home Top

Prolog

Meaning PROgramming in LOGic
Development
  • Alain Colmerauer (University of Aix-Marseille), Philipe Roussel (University of Aix-Marseille) and Robert Kowalski (University of Edinburgh)
  • 1972
Comments
  • A logic-language based on logical rewrite systems
  • Used for automatic proof verification systems and other Artifical Intelligence applications.

Home Top

Pascal

Meaning Named after Pascal Blaise who build the first mechanical calculation device (which could only add and subtract)
Development
  • Nicolaus Wirth
  • 1971
Comments
  • Designed to be an educational language (simple, a lot of datatypes,...)
  • Very well structured but provides very poor I/O facilities.

Home Top

Smalltalk

Meaning The kernel of the language was deliberately kept small.
Development
  • Xerox Palo Alto Research Center (PARC)
  • University of Utah
  • Project leaders: Alan Kay, Daniel Ingalls
  • Project members: Adele Goldberg, David Robson,...
  • 1972
Comments
  • "The purpose of the Smalltalk project is to support children of all ages in the world of information. The challenge is to identify and harness metaphors of sufficient simplicity and powers to allow a single person to have access to, and creative control over, information which ranges from number and text through sounds and images" (Daniel Ingalls).
  • Small provides not only for a language but also for a completely development environment (graphical browser, tools, very extensive library,...)
  • This is an extreme object oriented language ("Everything is an Object"), which is completely dynamic, interpreted (and thus rather slow) and allows for very fast programming (very well suited for prototyping).

Home Top

C

Meaning Successor to B
Development
  • CPL: developed by the Universities of Cambridge and London
  • BCPL (Basic CPL): Martin Richards
  • B: Ken Thompson (Bell Labs)
  • C: Dennis Ritchie (Bell Labs, 1969-1971)
Comments
  • C was designed to be a language for own usage, most importantly, to develop the operating system Unix.
  • It was the first language designed by programmers, very well structured, powerful, portable and flexible. However, it allows for very cryptic expressions, and dirty "pointer" hunting.
  • One of the most powerful languages of all times, used for almost all purposes (operating systems, wordprocessors, databases, games, computeranimations in movies,...

PDF History of C

A more detailed note about the evolution of one of the most popular programming languages ever.

Home Top

Scheme

Development
  • Guy Lewis Steele and Gerald Jay Sussman
  • 1975
Comments Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language. It was designed to have an exceptionally clear and simple semantics and few different ways to form expressions. A wide variety of programming paradigms, including imperative, functional, and message passing styles, find convenient expression in Scheme

Home Top

Common Lisp

Development 1980
Comments Standardize the many dialects of Lisp.

Home Top

Ada

Meaning
  • Named after the first female programmer, lady Ada Lovelace (daughter of Lord Byron) and co-worker of Charles Babbage.
  • The code name of the project was "Green".
Development
  • Based on the specifications of the USA Department of Defense (DoD).
  • Jean Ichbiah, Bernd Krieg-Brueckner, Brian Wichmann, Henry Ledgard, Jean-Claude Heliard, Jean-Loup Gailly, Jean-Raymond Abrial, John Barnes, Mike Woodger, Olivier Roubine, A. Schuman & S.C. Vestal
  • 1983
Comments
  • The goal was to develop a common, powerful language that could be used by all official (governamental) institutes of the USA.
  • Very well structured and very powerful, with a lot of features that are missing from other languages (f.i., real-time, parallel and distributed systems).
  • Ada is an object based language (Ada-9x adds object oriented features).
  • Nowadays still used in some governamental USA institutes.

Home Top

C++

Meaning C++ means C + 1 in the C-language itself (coined by Rick Mascitti)
Development
  • AT&T Bell Labs
  • Bjarne Stroustrup
  • 1985
Comments
  • Bjarne Stroustrup wanted to add object oriented facilities (from Simula) to the popular C language.
  • C++ has a lot of features for very big software projects.
  • Standardized by ANSI/ISO, including a standard library (STL, Standard Template Library)
  • One of the most popular object oriented languages.

Home Top

Objective-C

Development
  • Brad Cox
  • 1986
Comments
  • Also Brad Cox wanted to add object oriented facilities to the popular C language, but based his features on the dynamic Smalltalk system.
  • Objective-C does not extend any existing C-keyword as C++ does (f.i. struct).
  • Provides a very extensive library.
  • Could never compete with C++.

Home Top

Eiffel

Development
  • Bertrand Meyer
  • 1986
Comments
  • Development of a Software Engineering Tool.
  • Comes with a complete development environment (graphic browser, tools, library,...)
  • Was never really successful, but very influential from a theoretical point of view.

Home Top

Object Pascal

Development
  • Apple Computer and Nicolaus Wirth
  • 1986
Comments
  • Adds object oriented features to Pascal.
  • The popular graphical development environment Borland Delphi is based on this language.

Home Top

Haskell

Meaning Named after the mathematician Haskell Curry who developed the formal foundation of functional programming languages.
Development 1987
Comments The goal was to create a standardized functional programming language with lazy evalution. In 2002, Haskell is the functional language on which most research is being performed.

Home Top

CLOS

Meaning Common Lisp Object System
Development
  • Daniel Bobrow, Sonya Keene, Linda DeMichiel, Patrick Dussud, Richard Gabriel, James Kempf, Gregor Kicazles & David Moon
  • 1988
Comments
  • Standardize object oriented dialects of Common Lisp.

Home Top

Java

Meaning
  • Indian dance
  • Island
  • Hot drink
  • The project name was Oak, named after the big oak that could be seen from the development office.
Development
  • Sun Microsystems
  • James Gosling
  • 1994
Comments
  • A combination of C++ and Smalltalk.
  • (Almost) Everything is an Object.
  • Removes some complexities of C++, such as pointers and memory management (by providing a garbage collector).
  • Tightly linked with the Internet (WWW), mainly because of the "applets", small Java programs that run directly into a browser.
  • Developed to be as portable as possible, "Write once, run everywhere".

Home Top

Mailbutton
Andy Verkeyn's Website, © Andy Verkeyn 1997-2015
Last webpage revision: