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:
“Without metaphor the handling of general concepts such as culture and civilization becomes impossible, and that of disease and disorder is the obvious one for the case in point. Is not crisis itself a concept we owe to Hippocrates? In the social and cultural domain no metaphor is more apt than the pathological one.”
—Johan Huizinga (18721945)
“In comparison to the French Revolution, the American Revolution has come to seem a parochial and rather dull event. This, despite the fact that the American Revolution was successfulrealizing the purposes of the revolutionaries and establishing a durable political regimewhile the French Revolution was a resounding failure, devouring its own children and leading to an imperial despotism, followed by an eventual restoration of the monarchy.”
—Irving Kristol (b. 1920)