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:
“A bill of rights is what the people are entitled to against every government on earth, general or particular, and what no just government should refuse, or rest on inference.”
—Thomas Jefferson (17431826)
“It is comparison than makes people miserable.”
—Chinese proverb.