Comparison of programming languages

This is an old revision of this page, as edited by Ekarderif (talk | contribs) at 21:08, 2 May 2006 (Added Smalltalk, Obj-C, Common Lisp, Scheme, PHP, other revisions). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The following tables compare general and technical information for a number of programming languages. Please see the individual products' articles for further information. The table only includes languages that are widely used and currently available.

General model of execution Influences Principal paradigm Typing discipline Introduced Usage trend
(www.tiobe.com)
Ada Compilation Algol, Pascal, C++ (Ada 95), Smalltalk (Ada 95) multi-paradigm: concurrent, distributed, generic-programming, imperative, object-oriented static, strong, safe, nominative 1983 -1
BASIC ? FORTRAN II, ALGOL 60 ? ? 1963 +1
C Compilation Algol, BCPL procedural static, weak Early 1970 -1
C++ Compilation C, Simula, Algol 68 multi-paradigm: imperative, object-oriented, generic static, weak 1979 +1
C# JIT compilation Java, C++ object-oriented dynamic, strong, both safe and unsafe, nominative 2001 +1
COBOL Compilation ? ? ? 1959 -3
ColdFusion Compilation ? ? ? 1995 +9
Common Lisp Interpretation Lisp, Smalltalk multi-paradigm: functional, object-oriented dynamic 1994 ?
D Compilation C++ ? ? 2000 +10
Delphi/Kylix ? ? ? ? 1995 -3
Java Interpretation/JIT compilation/Dynamic compilation C++, Objective-C object-oriented static, strong 1996 +1
Objective-C Compilation/JIT compilation C, Smalltalk object-oriented dynamic, strong 1986 ?
Perl Interpretation C, shell, awk, sed, lisp multi-paradigm: imperative, object-oriented dynamic 1987 -3
PHP Interpretation Perl, C multi-paradigm: imperative, object-oriented dynamic, strong 1995 ?
Python Interpretation ABC, Perl multi-paradigm: imperative, object-oriented, functional dynamic, strong, duck 1990 +1
Ruby Interpretation Smalltalk, Perl multi-paradigm: imperative, object-oriented, functional, concurrent dynamic, strong, duck 1995 +14
Scheme Interpretation Lisp functional dynamic 1970s ?
Smalltalk JIT compilation Sketchpad, Simula object-oriented dynamic 1971 ?


  1. ^ From the first column of the May, 2006 TIOBE Programming Community Index. Languages are ranked sequentially from most popular to least popular based on the world-wide availability of skilled engineers, courses, and third party vendors. Google, MSN, and Yahoo are used to calculate the rank. In determining popularity for a language, the language may include or exclude other languages or derivatives. See what languages are included or excluded in the Groupings and exceptions chart below or here.
  2. ^ From the Delta in Position column of the May, 2006 TIOBE Programming Community Index. This number indicates the language's change in popularity over the last year. In determining the usage trend for a language, the language may include or exclude other languages or derivatives. See what languages are included or excluded in the Groupings and exceptions chart below or here.
Exceptions and inclusions used in determining Popularity and Usage trend

Language

Exceptions/Inclusions

Awk

Included: awk, gawk, mawk, nawk

C#

Included: C#, C-Sharp, C Sharp

ColdFusion

Included: ColdFusion, Cold Fusion, CFMX, CFML

D

Exception: "3-D Programming"

Delphi/Kylix

Included: Delphi, Kylix

IDL

Exception: "corba"

Lisp/Scheme

Included: Lisp, Scheme

Python

Included: Python, Jython, IronPython (Jan Persson)

T-SQL

Included: T-SQL, Transact-SQL

Tcl/Tk

Included: Tcl/Tk, Tcl, Tk

VB.NET

Included: VB.NET, Visual Basic.NET, Visual Basic .NET, Visual Basic 2005, VB 2005

Visual FoxPro

Included: FoxPro, Fox Pro, VFP