Hossam Blog

September 13, 2006

General Comparision between Programming Languages

Filed under: Comparisions — Hossam Ahmed @ 2:53 am

Programming languages are used for controlling the behavior of a machine (often a computer). Like human languages, programming languages have syntactic and semantic rules used to define meaning.

There are thousands of programming languages and new ones are created every year. Few languages ever become sufficiently popular that they are used by more than a few people.

General comparison

The following table compares general and technical information for a selection of commonly used programming languages. See the individual languages’ articles for further information.

Language General model of execution Influences Paradigm(s) Typing discipline Introduced
Ada Compilation Algol, Pascal, C++ (Ada 95), Smalltalk (Ada 95) concurrent, distributed, generic, imperative, object-oriented static, strong, safe, nominative 1983
C Compilation Algol, B imperative, flow-driven static, weak, unsafe 1973
C++ Compilation C, Simula, Algol 68 imperative, object-oriented, generic static, strong, unsafe, nominative 1980
C# JIT compilation Delphi, Java, C++ imperative, object-oriented, generic, multi-platform static, strong, both safe and unsafe 2000
COBOL Compilation FLOW-MATIC, COMTRAN imperative, object-oriented weak/strong 1959
ColdFusion JIT compilation HTML procedural, functional, object-oriented dynamic (duck), weak 1995
Common Lisp Compilation Lisp, Smalltalk imperative, functional, object-oriented dynamic, strong, safe 1984
D Compilation C , C++, Java, C# imperative, object-oriented, generic strong 2000
Eiffel Compilation Ada, Pascal object-oriented, generic static, strong, safe, nominative, contracts 1985
Erlang Compilation Prolog, Ericsson Pascal, CSP functional, concurrent, distributed, multi-platform dynamic, weak late 1980s
Forth Interpretation / Compilation none imperative, stack-oriented typeless 1977
Fortran Compilation none imperative static, strong, safe, nominative 1957
Java Interpretation / JIT compilation C++, Objective-C object-oriented, multi-platform, generic static, strong 1994
JavaScript Interpretation C, Self, awk, Perl imperative, object-oriented, functional dynamic 1995
Haskell Interpretation / Compilation Miranda, ML functional, generic static, strong, type inference 1998
Mathematica Interpretation Lisp functional, procedural dynamic, strong 1986
Objective-C Compilation C, Smalltalk object-oriented static/dynamic hybrid, strong 1986
Objective Caml Interpretation / Compilation ML, Lisp object-oriented, functional static, safe, structural, type inference 1996
Object Pascal Compilation Pascal imperative, object-oriented static, strong, safe (but unsafe allowed), nominative 1995
Perl Interpretation C, shell, awk, sed, Lisp functional, object-oriented, procedural dynamic 1987
PHP Interpretation Perl, C imperative, object-oriented dynamic, weak 1995
Python Interpretation ABC, Perl, Modula-3 imperative, object-oriented, functional dynamic (duck), strong 1991
Ruby Interpretation Smalltalk, Perl imperative, object-oriented, functional dynamic (duck),

No Comments Yet »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

You must be logged in to post a comment.

Blog at WordPress.com.