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. Please note that the following table may be missing some information.
Language | Intended use | Paradigm(s) | Standardized? |
---|---|---|---|
ActionScript 3.0 | Application, client-side, Web | event-driven, imperative, object-oriented | 1996, ECMA |
Ada | Application, embedded, realtime, system | concurrent, distributed, generic, imperative object-oriented, procedural, | 1983, ANSI, ISO, GOST 27831-88 |
Aldor | Highly domain-specific, symbolic computing | imperative, functional, object-oriented | No |
ALGOL 58 | Application | imperative | No |
ALGOL 60 | Application | imperative | 1960, IFIP WG 2.1, ISO |
ALGOL 68 | Application | concurrent, imperative | 1968, IFIP WG 2.1, GOST 27974-88, |
Ateji PX | Parallel application | object-oriented, pi calculus | No |
APL | Application, data processing | array-oriented, tacit | 1989, ISO |
Assembly language | General | any, imperative, syntax is usually highly specific, related to the target processor | No |
AutoHotkey | GUI automation (macros), highly domain-specific | imperative | No |
AutoIt | GUI automation (macros), highly domain-specific | event-driven, imperative, procedural | No |
BASIC | Application, education | imperative, procedural | 1983, ANSI, ISO |
BBj | Application, business, Web | object-oriented, procedural | No |
BeanShell | Application, scripting | functional, imperative, object-oriented, reflective | In progress, JCP |
BLISS | System | procedural | No |
BlitzMax | Application, game | imperative, object-oriented, procedural | No |
Boo | Application | No | |
C | System | imperative, procedural | 1989, ANSI C89, ISO C90/C99, ISO C11 |
C++ | Application, system, Database, business, etc.. | generic, imperative, object-oriented, procedural, functional | 2011, ISO |
C# | Application, business, client-side, general, server-side, Web | functional, generic, imperative, object-oriented, reflective | 2000, ECMA, ISO |
Clarion | General, business, Web | functional, imperative, object-oriented | Unknown |
Clean | General | functional, generic | No |
Clojure | General | concurrent, functional | No |
CLU | General | generic, imperative, object-oriented, procedural | No |
COBOL | Application, business | imperative, object-oriented | 2002 (ISO/IEC 1989) |
Cobra | Application, business, general, Web | functional, generic, imperative, object-oriented, reflective | No |
ColdFusion (CFML) | Web | object-oriented, procedural | No |
Common Lisp | General | functional, generic, imperative, object-oriented, reflective | 1994, ANSI |
COMAL 80 | Education | imperative, procedural | No |
Crystal 1.0.0 | Education | functional, imperative, procedural | No |
Cython | Application, general, numerical computing | aspect-oriented, functional, imperative, object-oriented, reflective | No |
D | Application, system | generic, generative, imperative, object-oriented, functional, concurrent | No |
Dart | Application, Web | imperative, structured, object-oriented | No |
Dylan | Application | functional, object-oriented | No |
DYL-280 | Application, system | imperative, procedural | No |
Eiffel | Application | generic, imperative, object-oriented | 2005, ECMA, ISO |
Erlang | Application, distributed, telecom | concurrent, distributed, functional | No |
Euphoria | Application. Since the interpreter is shared for system and application code, system is not an intended use because application crashes would affect the whole system. | procedural, reflective | No |
Factor | stack-oriented | No | |
Falcon | General, Application | procedural, functional, object oriented, prototype OOP, message oriented, tabular programming | No |
FP | functional | No | |
F# | Application | functional, generic, imperative, object-oriented | No |
Forth | General | imperative, stack-oriented | 1994, ANSI |
Fortran | Application, numerical computing | generic, imperative, object-oriented, procedural | 1966, ANSI 66, ANSI 77, MIL-STD-1753, ISO 90, ISO 95, ISO 2003 |
G2 | Application, inference, expert system | common graphical development and runtime environment, event-driven, imperative, object-oriented | No |
Gambas | Application | event-driven, imperative, object-oriented | No |
Game Maker Language | Application, games | event-driven, imperative, object-oriented | No |
GLBasic | Application, games | imperative, procedural, simple object-oriented | No |
Go | Application, system | concurrent, imperative | No |
Gosu | Application, general, scripting, Web | generic, imperative, object-oriented, reflective | No |
GraphTalk | Application | logic, object-oriented | No |
Groovy | Application, Web | aspect-oriented, imperative, object-oriented, functional | In progress, JCP |
Harbour | Application, business, data processing, general, Web | declarative, functional, generic, imperative, object-oriented, procedural, reflective | No |
Haskell | Application | functional, generic, lazy evaluation | 2010, Haskell 2010 |
haXe | Application, general, Web | imperative, object-oriented, functional, generic, reflective | No |
HyperNext | Application, education | event-driven, procedural, weakly typed | No |
Io | Application, host-driven scripting | imperative, object-oriented | No |
ISLISP | General | functional, generic, imperative, object-oriented | 1997, ISO |
J | Data processing | array-oriented, function-level, tacit | No |
JADE | Application, distributed | imperative, object-oriented | No |
Java | Application, business, client-side, general, server-side, Web | generic, imperative, object-oriented, reflective | De facto standard via Java Language Specification |
JavaScript | Client-side, Web | functional, imperative, prototype-based, reflective | 1997, ECMA |
Joy | Research | functional, stack-oriented | No |
LabVIEW (G) | Application, industrial instrumentation-automation | dataflow, visual | No |
Lisp | General | functional | Unknown |
Logtalk | Artificial intelligence, application | event-driven, logic, object-oriented, reflective | No |
Lua | Application, embedded scripting | aspect-oriented, functional, imperative, object-oriented, procedural, reflective | No |
Mathematica | Symbolic language | functional, procedural, imperative, logic, distributed, object-oriented | No |
MATLAB | Highly domain-specific, numerical computing | imperative, object-oriented, procedural | No |
Modula-2 | Application, system | generic, imperative | 1996, ISO |
Modula-3 | Application | generic, imperative, object-oriented | No |
Oberon | Application, system | imperative, object-oriented | No |
Objective-C | Application | imperative, object-oriented, reflective | No |
OCaml | Application | functional, generic, imperative, object-oriented | No |
Object Pascal (Delphi) | Application, business, client-side, general, server-side, Web | aspect-oriented, event-driven, functional, generic, imperative, object-oriented, procedural, reflective | No |
Occam | General | concurrent, imperative, procedural, process-oriented | No |
Opa | Web applications | functional, generic, imperative, distributed | No |
Oxygene | Application | generic, imperative, object-oriented | No |
Oz | Application, distribution, education | concurrent, functional, imperative, logic, object-oriented | No |
Pascal | Application, education | imperative, procedural | 1983, ISO |
Pawn | Embedded, host-driven scripting | imperative | No |
Perl | Application, scripting, text processing, Web | functional, generic, imperative, object-oriented, procedural, reflective | No |
PHP | Server-side, Web Application, Web | imperative, object-oriented, procedural, reflective | No |
PL/I | Application | imperative, object-oriented, procedural | 1969 |
Plus | Application, system development | imperative, procedural | No |
Prolog | Application, artificial intelligence | logic | 1995, ISO |
PureBasic | Application | procedural | No |
Python | Application, general, Web, scripting | aspect-oriented, functional, imperative, object-oriented, reflective | De facto standard via Python Enhancement Proposals (PEP)s. |
Racket | Education, general, scripting | functional, procedural, modular, object-oriented, logic, reflective, meta | No |
REALbasic | Application | procedural | Unknown |
REBOL | Distributed | dialected, functional, imperative, object-oriented | No |
RPG (IBM) | Application, system | imperative, procedural | No |
Ruby | Application, scripting, Web | aspect-oriented, functional, imperative, object-oriented, reflective | 2011(JIS X 3017), 2012(ISO/IEC 30170) |
Rust | Application, system | concurrent, functional, generic, imperative, object-oriented, reflective | No |
S | Application, statistics | functional, imperative, object-oriented, procedural | No |
S-Lang | Application, numerical, scripting | imperative, procedural | No |
Scala | Application, distributed, Web | functional, generic, imperative, object-oriented | De facto standard via Scala Language Specification (SLS) |
Scheme | Education, general | functional | 1998, R6RS |
Simula | Education, general | discrete event simulation, event-driven, imperative, multi-threaded (quasi-parallel) program execution, object-oriented | 1968 |
Smalltalk | Application, education | concurrent, declarative, event-driven, object-oriented, reflective | 1998, ANSI |
SNOBOL | Text processing | Unknown | |
Standard ML | Application | functional, generic, imperative | 1997, SML '97 |
Tcl | Application, scripting, Web | event-driven, imperative, procedural, reflective | No |
Visual Basic | Application, education | component-oriented, event-driven, imperative | No |
Visual Basic .NET | Application, education, Web | event-driven, imperative, object-oriented | No |
Visual Prolog | Application | declarative, event-driven, functional, imperative, logic, object-oriented | No |
Windows PowerShell | Administration | functional, imperative, object-oriented, pipeline, reflective | No |
XL | concept programming, imperative, object-oriented | No | |
Language | Intended use | Paradigm(s) | Standardized? |
Read more about this topic: Comparison Of Programming Languages
Famous quotes containing the words general and/or comparison:
“There is a mortifying experience in particular, which does not fail to wreak itself also in the general history; I mean the foolish face of praise, the forced smile which we put on in company where we do not feel at ease, in answer to conversation which does not interest us. The muscles, not spontaneously moved but moved, by a low usurping wilfulness, grow tight about the outline of the face, with the most disagreeable sensation.”
—Ralph Waldo Emerson (18031882)
“What is man in nature? A nothing in comparison with the infinite, an all in comparison with the nothinga mean between nothing and everything.”
—Blaise Pascal (16231662)