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:
“The tremendous outflow of intellectuals that formed such a prominent part of the general exodus from Soviet Russia in the first years of the Bolshevist Revolution seems today like the wanderings of some mythical tribe whose bird-signs and moon-signs I now retrieve from the desert dust.”
—Vladimir Nabokov (18991977)
“It is very important not to become hard. The artist must always have one skin too few in comparison to other people, so you feel the slightest wind.”
—Shusha Guppy (b. 1938)