Home | About Us | Contact Us | Seminars | Get Listed | Subscribe | Hotlist | Online CPE


Carlton's Notes on
Programming Languages

This is by no means a complete review of programming languages. This is simply a page where I keep my notes on programming languages for my own reference. You may find some of this information useful. These notes contain:

1. Definition of a Programming Language
2. A History of Programming Languages
3. A Family Tree of Programming Languages
4. A List of All Known Programming Languages

Definition
A programming language is a standardized method for expressing instructions to a computer.  The language allows a programmer to specify the data a computer is to act upon, and what actions are to be taken under various circumstances.

A History of Programming Languages

1940 – Ada Byron King described in great detail Charles Babbage's mechanical general purpose computational device which he called the analytical engine. Despite the fact that Babbage never built a working model of his analytical engine, Ada Lovelace specified in complete detail a method for computing Bernoulli numbers with that machine. This is generally considered to be the world's first computer program. 

1949 - Short Code was the first computer language that actually was used on an electronic computing device. It is, however, a "hand-compiled" language. 

1951 - MATH-MATIC was developed by Grace Hopper while working for Remington Rand, MATH-MATIC was the first widely known compiler. It was code named A-0 prior to its release by Rand in 1957. As a side note, in 1983 I ran into Grace Hopper in the Atlanta airport and talked to her for a few minutes. She handed me a piece of wire cut to a length in which electricity travels in a nano-second. 

1952 - AUTOCODE was developed by Alick E. Glennie in his spare time at the University of Manchester. He called it a “rudimentary compiler”. 

1957 - FORTRAN is an abbreviateion of FORmula TRANslating system. It was developed by a team headed by John Backus. John goes on to assist in the development of ALGOL and BNF. 

1958 - FORTRAN II was developed by John McCarthy while working at M.I.T. The system is able to handle subroutines and links to assembly language. John also worked on developing LISP which is derived from LISt Processing

1959 - LISP 1.5 was developed by John McCarthy while working at M.I.T. 

1959 - COBOL is created by the Conference on Data Systems and Languages (CODASYL). 

1960 - ALGOL 60 first appears. This language lays the foundation that ultimately produces Pascal. ALGOL becomes the most popular language in Europe at the time. 

1960s – APL is derived from A Programming Language. It was developed by Kenneth Iverson and it uses a specialized character set that works with APL-compatible I/O devices. Iverson documents his work in his 12962 book, A Programming Language . 

1962 - FORTRAN IV is released. 

1971 – SNOBOL is derived from StriNg-Oriented symBOlic Language

1971 – SPITBOL is derived from SPeedy ImplemenTation of snoBOL. 

1963 - ALGOL 60 is revised. 

1963 - PL/1 development begins. 

1963 – Sketchpad was designed on the TX-2 computer at MIT. This language is considered to be the first computer graphics application. 

1964 - APL\360 is implemented. 

1964 - BASIC is developed by professors John G. Kemeny and Thomas E. Kurtz while working at Dartmouth University. The first BASIC program is said to have run at 4:00 a.m. on May 1, 1964. 

1964 - PL/1 is released. 

1965 - SNOBOL3 is released. 

1966 - FORTRAN 66 appears. 

1966 - LISP 2 is released. 

1966 - LOGO development is started by by Wally Fuerzeig and Seymour Papert at Bolt, Beranek, & Newman. LOGO becomes best known for "turtle graphics." 

1967 - SNOBOL4 is released. 

1968 - ALGOL 68 is released. ALGOL 68 develops a reputation for being difficult to implement and members of the specifications committee protest its approval. 

1968 - ALTRAN is released as a variant of FORTRAN. 

1968 - COBOL is officially defined by ANSI. 

1968 - Pascal development is begun by Niklaus Wirth. 

1970 – Forth is developed by Charles Moore, and he writes his first significant program using this language. 

1970 - Prolog development begins. 

1970 - Smalltalk development begins by Alan Kay while working at Xerox PARC. This effort spawned Smalltalk-72, Smalltalk-74, and Smalltalk-76. 

1970 - Pascal first appears on a CDC 6000-series computer. 

1970 - Icon is released. This language is a descendant of SNOBOL4. 

1972 - C  is developed by Denni S. Ritchie. The reference manual is released in 1974. 

1972 - Prolog is developed and released by Alain Colmerauer and Phillip Roussel. 

1975 - Tiny BASIC is developed by Bob Albrecht and Dennis Allison (the language is implementation by Dick Whipple and John Arnold). The language first runs on a 4-KB microcomputer, using just 2 KB of the RAM for the program. 

1975 – A version of BASIC is developed by Bill Gates and Paul Allen, which they sell to MITS (Micro Instrumentation and Telemetry Systems) for use on its’ Altair, an 8080-based microcomputer. 

1975 - Scheme is developed by G.L. Steele and G.J. Sussman. It is a descendant of , a LISP. 

1975 - The Pascal User Manual and Report is published by Jensen and Wirth. 

1975 – RATFOR is an abbreviation of RATional FORTRAN. It is developed by B.W. Kerninghan and it allows C-like control structures in FORTRAN. 

1976 - Design System Language is released. It is considered to be a predecessor to PostScript. 

1977 - MUMPS is an abbreviation of Massachusetts General Hospital Utility Multi-Programming System.It first appears in 1977 and was originally used to handle medical records. MUMPS only recognizes string data-type. It was later renamed M. 

1977 – ADA -The design competition that will produce Ada begins. Honeywell Bull's team, led by Jean Ichbiah, will win the competition. 

1977 – FIG is an abbreviation of the FORTH interest group. Developed by Kim Harris and others FIG-FORTH sold for around $20. 

1970s - UCSD Pascal was developed by Kenneth Bowles and made Pascal available on PDP-11 and Z80-based computers. 

1977 - Modula-2 is the successor to Pascal. Development is initiated by Niklaus Wirth. 

1978 - AWK is released. It is a text-processing language named after the designers, Aho, Weinberger, and Kernighan. 

1978  - VISICALC is released by Dan Bricklin of Frankston. Technically it is a programming language, however we generally refer t it as a spreadsheet application. 

1978 - FORTRAN 77 - The ANSI standard for FORTRAN 77 is released. 

1979  - Green is released by Jean Ichbiah et al.,  while working for the US Department of Defense. 

1980 - Smalltalk-80 is released. 

1980 - Modula-2 is released. 

1980 – C is developed by Bjarne Stroustrup. This language later spawns C++. 

1981 - Common LISP development begins. This is to be a common dialect of LISP. 

1981 - Prolog is developed by Japan under the Fifth Generation Computer System project. 

1982 - ISO Pascal is released. 

1982 – PostScript is released. 

1983 - Smalltalk-80 is published by Goldberg et al. 

1983 - Ada is released. Its name is derived from Lady Augusta Ada Byron. She is the Countess of Lovelace and daughter of the English poet Byron. She has been referred to as the first computer programmer because of her work on Charles Babbage's analytical engine. In 1983, the Department of Defense dictated that all new "mission-critical" applications be written in Ada. 

1983/1984 - C Compilers for microcomputers are first released by both Microsoft and Digital Research. 

1983 - C++ is released. The product is named by Rick Mascitti. 

1983 - Turbo Pascal is released by Borland with a splash, thanks to an effective advertisement in BYTE magazine. 

1984 - APL2 is descendant of APL that permits nested arrays. A reference manual for APL2 is released. 

1984 - Vanilla SNOBOL4 for microcomputers is released. 

1984 – Methods is released. It is a line-oriented Smalltalk for PCs. 

1984  - CLIPPER is released by Nantucket. 

1985 – PARADOX is released by Borland. 

1986 - Smalltalk/V is released for microcomputers. 

1986 - Object Pascal for the Mac is released by Apple. 

1986 - Turbo Prolog is released by Borland. 

1986 - Actor is released by Charles Duff. It is an object-oriented language for developing Microsoft Windows applications. 

1986 – Eiffel is released. It is an object-oriented language. 

1986 - C++ appears. 

1987 - Turbo Pascal version 4.0 is released. 

1987 – Perl is released. 

1988 - CLOS is derived from Common LISP Object System. The specifications for this language are published. 

1988 - Oberon is released by Niklaus Wirth. This language is a descendent of Modula-2. 

1989 - The ANSI C specification is published.

1989 - C++ 2.0 draft reference manual is released. The 2.0 version adds multiple inheritance and pointers to members. 

1990  - C++ 2.1 Reference Manual by B. Stroustrup et al, is published. This version adds templates and exception-handling features. 

1990 - FORTRAN 90 is released it includes case statements and derived types. 

1990 - J is presented at the APL90 conference by Kenneth Iverson and Roger Hui. 

1991 - Visual Basic wins BYTE's Best of Show award at Spring COMDEX. Visual Basic (VB) is a descendant of the BASIC programming language developed by Microsoft. It is an event driven programming language centered around a forms engine that enables rapid development of graphical user interface applications and a database object library (ADO). It is used primarily for database front ends, and its relative VBScript is the language for Active Server Pages. 

1991 – Python is released. 

1992 – Dylan, which is derived from Dylan Thomas, is released by Apple. It is an object-oriented language that resembles Scheme. 

1993 – The X3J4.1 technical report is released by ANSI. It is the first-draft proposal for object-oriented COBOL. 

1994 – VBA - Microsoft incorporates Visual Basic for Applications into Excel. 

1995 - Ada 95 is accepted by ISO. It includes OOP features and support for real-time systems. 

1995 - Java is created by James Gosling and other engineers at Sun Microsystems. It was officially announced on May 23, 1995, at SunWorld.  It is language is an object-oriented programming language developed so that programs written for it will look and function approximately the same regardless of the device it is running on. 

1996 - C++ standard is released by ANSI. 

1997 - Visual Basic for Applications (VBA) is built into every product in the Microsoft Office family (Word, Excel, Access etc.), and also in several third-part products such as Visio. This makes Visual Basic the programming platform with the largest installed base in the world. VBA is developed to write small applications for specific purposes. IN recent years, VBA has been exploited to write macro viruses which are able to spread. 

1997 – ActiveX is released by Microsoft. 

2001 – KYLIX is released by Borland. It is a descendant of Delphi5.

References

The above history was developed in part from the following resources:

  1. BYTE.com, September, 1995 article located here http://www.byte.com/art/9509/sec7/art19.htm
  2. History of Visual Programming Languages by Marat Boshernitsan, December 16, 1997: http://www.cs.berkeley.edu/~maratb/cs263/paper/node2.html
  3. Programming Language, Wikipedia, the free encyclopedia. http://www.wikipedia.com/wiki/Programming_language ; http://www.wikipedia.com/wiki/Java+programming+language

 

Programming Language Family Tree

Based on what I have read, I have attempted to reconstruct a Programming Language Family Tree, which depicts the natural progression of programming languages from their ancestors through their descendents. It is a difficult exercise and I am sure that I have made many errors here. Still, this might be useful to you.

  • Assembly languages
  • Algol family
    • Ada
      • Algol
        • Atlas Autocode
          • Pascal
            • Delphi
    • C family
      • BCPL
        • B
          • C
            • C++
              • Objective C
                • ECMAScript
                  • QuakeC
                  • Java
                  • C#
  • BASIC family
    • [Altair BASIC]?
      • Applesoft BASIC
        • C-BASIC?
          • FutureBASIC?
            • GW-BASIC
              • True BASIC
                • Visual Basic
                  • VBScript
  • Lisp family
    • AutoLisp
      • Common Lisp
        • Emacs Lisp
          • Scheme
  • APL
    • awk
  • BeFunge?
    • BLISS?
      • Blue?
        • Brainf**k
  • COBOL
    • CORAL66
      • CPL?
  • Dylan
  • ECMAScript
    • Erlang
      • Euphoria
  • Forth
    • FORTRAN
  • GENIE
    • Godiva
  • Haskell
  • Icon
    • INTERCAL
  • Kvikkalkul
  • Limbo
    • LOGO
      • Lua
  • m4
    • Miranda
      • Mercury
        • Mesa
          • ML
            • Modula
              • MOO
                • MUMPS
                  • Mary
  • Nial
  • Oberon
    • Occam
  • Perl
    • PHP
      • PL/I
        • Poplog
          • PostScript
            • Prolog
              • Python
  • REBOL
    • REXX
      • RPG
        • Ruby
  • sed
    • SETL
      • Simula
        • Smalltalk
          • SNOBOL
            • SPITBOL?
              • SQL
  • Tcl
    • teco
      • tpu
        • Trac
          • Turing
  • Unicon
    • UnLambda
  • Var'aq
  • 2.PAK

 

 

R-E-S-P-E-C-T List

Presented below is a list that I am compiling (excuse the pun) of all known programming languages. I have used a red font and bolded those languages which I have the most respect for today.

ABC
ABEL
Ada
ADL
Agora
Aleph
Algol 60
Algol 68
AML
APL
Argus
Assembly
Awk
Basic
Befunge
BETA
Blue
Brain
C  
C Sharp
C/SIDE
C++
Caml
Cecil
Charity
CHILL
CLAIRE
Clarion
Clean
Clipper
CLU
Cobol
Cocoa
Compiled Languages
Component Pascal
Curl
Declarative Languages
Delphi
Dylan
Eiffel
Elegant
Elf
Emerald
Erlang
Escher
Euphoria
Forth
Fortran
Framework Languages
Functional Languages
Garbage-collected Languages
Gema
Goedel
Hardware Description Languages
Haskell
HTMLScript
ICI
Icon
IDL
Imperative
Intercal
Interface Languages
Interpreted Languages
Java
JJ
LabVIEW
Lagoona
Language Comparison and Critiques
Language-OS Hybrids
Leda
Limbo
Lisp
Logic-based Languages
Logo
Lua
m4
MATLAB
Mercury
Miranda
ML
Modula-2
Modula-3
Mumps
Napier88
NQL
Oberon
Object-oriented Languages
Objective Caml
Objective-C
Obliq
Occam
Omega
OPAL
Open-source Languages
Other Languages
Oz
Pascal
Perl
PHP
Pike
PL
PL-SQL
Pliant
Postscript
PowerBuilder
Prograph
Prolog
Proteus
Prototype-based Languages
Python
Quikjob
REBOL
Reflective Languages
Rexx
Rigal
RPG
Ruby
S-Lang
SAS
Sather
Scheme
Scripting Languages
Self
SETL
Simula
Sisal
Slim
Smalltalk
Snobol
SQL
Squeak
T3X
Tcl-Tk
Tempo
TOM
Turing
VBA
VBScript
Verilog
VHDL
Visual Basic
Visual DialogScript
Visual FoxPro
Visual Languages
Winductor
Wirth Languages
YAFL
Yorick


- END -
 


Copyright © 1999-2011   

ACCOUNTING SOFTWARE advisor
All rights reserved 
No part of this web site may be used for commercial purposes of any kind without our express written consent.

______________


The following web sites are owned and maintained by Accounting Software Advisor, LLC: Accounting Software Advisor, Accounting Software NewsASA Research, Technology Advisor, CPA Advisor, Accounting Software Answers, Accounting Software Reports, Accounting Software Consulting, QuickBooks Advisor, Excel Advisor, Carlton Collins, and The CPA's Hotlist.

 

About Us

Read our Mission Statement
Read our Disclosure Statement
Read our Disclaimer Statement

Contact the Editor - J. Carlton Collins
REPRINT PERMISSIONS

______________

 

Click Here If You Need Help SELECTING ACCOUNTING SOFTWARE
 We would be happy to help you as little, or as much, as you need

 

Click Here TO FIND A TOP ACCOUNTING SOFTWARE RESELLER IN YOUR AREA
 THESE RESELLERS HAVE PASSED A RIGOROUS BACKGROUND CHECK AND MEET OUR TOUGH CRITERIA

 

QuickBooks hosting