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:
“Women born at the turn of the century have been conditioned not to speak openly of their wedding nights. Of other nights in bed with other men they speak not at all. Today a woman having bedded with a great general feels free to tell us that in bed the general could not present arms. Women of my generation would have spared the great general the revelation of this failure.”
—Jessamyn West (19071984)
“From top to bottom of the ladder, greed is aroused without knowing where to find ultimate foothold. Nothing can calm it, since its goal is far beyond all it can attain. Reality seems valueless by comparison with the dreams of fevered imaginations; reality is therefore abandoned.”
—Emile Durkheim (18581917)