Comparison of programming languages: Difference between revisions

Content deleted Content added
m tpo
Citation bot (talk | contribs)
Added date. | Use this bot. Report bugs. | Suggested by Jay8g | #UCB_toolbar
 
Line 1:
{{short description|none}}
The following table compares general and technical information for popular '''[[programming language]]s'''. See the individual products' articles for further information.<br>
{{ProgLangCompare}}
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%"
[[Programming language]]s are used for controlling the behavior of a machine (often a [[computer]]). Like [[natural language]]s, programming languages follow rules for [[syntax]] and [[semantics]].
|- style="background: #ececec;"
! Language
! General model of execution
! Influences
! Principal paradigm
! [[Type_system|Typing discipline]]
! Introduced
! Web popularity<ref name = "webpop">From the first column of the May, 2006 [http://www.tiobe.com/tpci.htm TIOBE Programming Community Index]. Languages are ranked sequentially from most to fewest search engine results using the method described on TIOBE's <i>Definition</i> page:
 
There are [[list of programming languages|thousands of programming languages]]<ref>As of May 2006 Diarmuid Pigott's [http://hopl.murdoch.edu.au/ Encyclopedia of Computer Languages] {{webarchive|url=https://web.archive.org/web/20110220044217/http://hopl.murdoch.edu.au/ |date=2011-02-20}} hosted at [[Murdoch University]], [[Australia]] lists 8512 computer languages.</ref> and new ones are created every year. Few languages ever become sufficiently popular that they are used by more than a few people, but professional [[programmer]]s may use dozens of languages in a career.
:The ratings are calculated by counting hits of the most popular search engines. The search query that is used is
 
Most programming languages are not standardized by an international (or national) standard, even widely used ones, such as [[Perl]] or [[Standard ML]] (despite the name). Notable standardized programming languages include [[ALGOL]], [[C (programming language)|C]], [[C++]], JavaScript (under the name [[ECMAScript]]), [[Smalltalk]], [[Prolog]], [[Common Lisp]], [[Scheme (programming language)|Scheme]] ([[IEEE]] standard), [[ISLISP]], [[Ada (programming language)|Ada]], [[Fortran]], [[COBOL]], [[SQL]], and [[XQuery]].
:+"<language> programming" -tv -channel
 
__TOC__
:The search query is executed for the regular Google, MSN, and Yahoo! web search and the Google newsgroups for the last 12 months. The web site Alexa.com has been used to determine the most popular search engines. The word "tv" and "channel" have been filtered out here to avoid any interference with TV programs. Otherwise languages such as ABC and Scheme would have been highly overrated.
{{-}}
 
==General comparison==
:By applying the search engine query as defined above, a lot of hit counts are collected. Let's define "hits(PL#i,SE)" as the number of hits of programming language PL at position i of the TPC index for search engine SE. The counted hits are normalized for each search engine for the first 50 languages. More formally, the rating for PL#i becomes
The following table compares general and technical information for a selection of commonly used [[programming language]]s. See the individual languages' articles for further information.
 
<!-- Per [[WP:REPEATLINK]]: Wikilink terms on 1st instance only, remove later repeat links. -->
:((hits(PL#i,SE1)/hits(PL#1) + ... + hits(PL#50)) + ... + (hits(PL#i,SEn)/hits(PL#1) + ... + hits(PL#50)))/n
{{sticky header}}
{{sort-under}}
{|class="wikitable sortable sort-under sticky-header" style="text-align:center;"
|-
! scope="col" | Language
! scope="col" | Original purpose
! scope="col" | [[Imperative programming|Imperative]]
! scope="col" | [[Object-oriented programming|Object-oriented]]
! scope="col" | [[Functional programming|Functional]]
! scope="col" | [[Procedural programming|Procedural]]
! scope="col" | [[Generic programming|Generic]]
! scope="col" | [[Reflective programming|Reflective]]
! scope="col" | Other [[Programming paradigm|paradigms]]
! scope="col" | [[Standardization|Standardized]]
 
|-
In determining web popularity of a language, the language may include or exclude certain dialects or other languages. See what's included or excluded in the <i>Exceptions and inclusions</i> chart below.</ref>
! scope="row" | [[1C:Enterprise programming language]]
| <!-- Original purpose --> [[Application software development|Application]], [[Rapid application development|RAD]], business, [[General-purpose programming language|general]], [[Web development|web]], [[Mobile app development|mobile]]
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> [[Object-based]], Prototype-based programming
| <!-- Standardized? --> {{no}}
 
|-
! Popularity change (1 yr)<ref>From the <i>Delta in Position</i> column of the May, 2006 [http://www.tiobe.com/tpci.htm TIOBE Programming Community Index]. This number indicates the language's change in web popularity (see above footnote) over the last year. In determining the popularity change for a language, the language may include or exclude certain dialects or other languages. See what's included or excluded in the <i>Exceptions and inclusions</i> chart below.</ref>
! scope="row" | [[ActionScript]]
| <!-- Original purpose --> Application, [[client-side]], web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> [[prototype-based]]
| <!-- Standardized? --> {{yes}}<br/>1999-2003, [[ECMAScript|ActionScript 1.0 with ES3, ActionScript 2.0 with ES3 and partial ES4 draft, ActionScript 3.0 with ES4 draft]],<!-- ECMA-262 --> [[ECMAScript for XML|ActionScript 3.0 with E4X]]<!-- ECMA-357 -->
 
<!-|-
! scope="row" | [[Ada (programming language)|Ada]]
LAST UPDATED IN THIS ARTICLE: May, 2006
| <!-- Original purpose --> Application, [[Embedded system|embedded]], [[Real-time computing|realtime]], [[System programming language|system]]
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}<ref>[http://www.adaic.org/standards/05rm/html/RM-TTL.html Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3], [http://www.adaic.org/standards/05rm/html/RM-3-9.html 3.9 Tagged Types and Type Extensions]</ref>
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}<ref>[http://www.adaic.org/standards/05rm/html/RM-TTL.html Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3], [http://www.adaic.org/standards/05rm/html/RM-6.html Section 6: Subprograms]</ref>
| <!-- Generic --> {{yes}}<ref>[http://www.adaic.org/standards/05rm/html/RM-TTL.html Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3], [http://www.adaic.org/standards/05rm/html/RM-12.html Section 12: Generic Units]</ref>
| <!-- Reflective --> {{no}}
|<!-- Other paradigms -->[[concurrent programming language|Concurrent]],<ref>[http://www.adaic.org/standards/05rm/html/RM-TTL.html Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3], [http://www.adaic.org/standards/05rm/html/RM-9.html Section 9: Tasks and Synchronization]</ref> [[distributed programming|distributed]]<ref>{{Cite web|url=https://www.adaic.org/resources/add_content/standards/05rm/html/RM-E.html|title=Distributed Systems|website=www.adaic.org}}</ref>
| <!-- Standardized? --> {{yes}}<br/>1983, 2005, 2012, ANSI, ISO, [[GOST]] 27831-88<ref>{{Cite web |url=http://vak.ru/lib/exe/fetch.php/book/gost/pdf/gost-27831-88.pdf |title=Vak.ru |access-date=2008-08-09 |archive-url=https://web.archive.org/web/20170330020459/http://vak.ru/lib/exe/fetch.php/book/gost/pdf/gost-27831-88.pdf |archive-date=2017-03-30 |url-status=dead}}</ref>
 
|-
Update date in footnotes when updating chart.
! scope="row" | [[Aldor]]
-->
| <!-- Original purpose --> Highly [[Domain-specific language|___domain-specific]], [[Computer algebra|symbolic computing]]
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[ALGOL 58]]
! {{rh}} | [[Ada_programming_language|Ada]]
| <!-- Original purpose --> Application
| Compilation
| <!-- Imperative --> {{yes}}
| [[ALGOL|Algol]], [[Pascal]], [[C++]] (Ada 95), [[Smalltalk]] (Ada 95)
| <!-- Object-oriented --> {{no}}
| [[multi-paradigm programming language|multi-paradigm]]: [[concurrent programming language|concurrent]], [[distributed programming|distributed]], [[generic programming|generic-programming]], [[imperative programming|imperative]], [[object-oriented programming|object-oriented]]
| <!-- Functional --> {{no}}
| [[Type system#Static and dynamic typing|static]], [[Type system#Strong and weak typing|strong]], [[Type system#Safely and unsafely typed systems|safe]], [[Type system#Nominative vs structural typing|nominative]]
| <!-- Procedural --> {{no}}
| 1983
| <!-- Generic --> {{no}}
| 18
| <!-- Reflective --> {{no}}
| 0
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[ALGOL 60]]
! {{rh}} | [[C programming language|C]]
| <!-- Original purpose --> Application
| Compilation
| <!-- Imperative --> {{yes}}
| [[ALGOL|Algol]], [[B_programming_language|B]]
| <!-- Object-oriented --> {{no}}
| [[imperative programming|imperative]], [[flow-driven programming|flow-driven]]
| <!-- Functional --> {{no}}
| static, weak
| <!-- Procedural --> {{yes}}
| 1973
| <!-- Generic --> {{yes}}
| 2
| <!-- Reflective --> {{no}}
| -1
| <!-- Other paradigms -->
| <!-- Standardized? --> {{yes}}<br/>1960, [[IFIP WG 2.1]], ISO<ref>{{Cite web|url=https://www.open-std.org/jtc1/sc22/docs/oldwgs/wg6.html|title=ISO/IEC JTC1/SC22/WG6 - Algol|website=www.open-std.org}}</ref>
 
|-
! {{rh}}scope="row" | [[C++ALGOL 68]]
| <!-- Original purpose --> Application
| Compilation
| <!-- Imperative --> {{yes}}
| [[C programming language|C]], [[Simula programming language|Simula]], [[Algol 68]]
| <!-- Object-oriented --> {{no}}
| [[multi-paradigm programming language|multi-paradigm]]: [[imperative programming|imperative]], [[object-oriented programming|object-oriented]], [[generic programming|generic]]
| <!-- Functional --> {{yes}}
| static, weak
| <!-- Procedural --> {{yes}}
| 1980
| <!-- Generic --> {{yes}}
| 3
| <!-- Reflective --> {{no}}
| +1
| <!-- Other paradigms --> Concurrent
| <!-- Standardized? --> {{yes}}<br/>1968, [[IFIP WG 2.1]], [[GOST 27974-88]],<ref>{{Cite web |url=http://vak.ru/lib/exe/fetch.php/book/gost/pdf/gost-27974-88.pdf |title=Vak.ru |access-date=2008-08-09 |archive-url=https://web.archive.org/web/20170324231641/http://vak.ru/lib/exe/fetch.php/book/gost/pdf/gost-27974-88.pdf |archive-date=2017-03-24 |url-status=dead}}</ref>
 
|-
!{{rh}} scope="row" | [[C_Sharp|C#Ateji PX]]
| <!-- Original purpose --> Parallel application
| Compilation
| <!-- Imperative --> {{no}}
| [[Java programming language|Java]], [[C++]]
| [[object<!--oriented programming|objectObject-oriented]] --> {{yes}}
| <!-- Functional --> {{no}}
| [[Type system#Static and dynamic typing|dynamic]], [[Type system#Strong and weak typing|strong]], [[Type system#Safely and unsafely typed systems|both safe and unsafe]], [[Type system#Nominative vs structural typing|nominative]]
| <!-- Procedural --> {{no}}
| 2000
| <!-- Generic --> {{no}}
| 7
| <!-- Reflective --> {{no}}
| 0
| <!-- Other paradigms --> [[pi calculus]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[APL (programming language)|APL]]
!{{rh}} | [[Cobol|COBOL]]
| <!-- Original purpose --> Application, [[data processing]]
| Compilation
| <!-- Imperative --> {{yes}}
| ?
| <!-- Object-oriented --> {{yes}}
| ?
| <!-- Functional --> {{yes}}
| ?
| <!-- Procedural --> {{yes}}
| 1959
| <!-- Generic --> {{yes}}
| 15
| <!-- Reflective --> {{yes}}
| -1
| <!-- Other paradigms --> [[array programming|Array-oriented]], [[tacit programming|tacit]]
| <!-- Standardized? --> {{yes}}<br/>1989, ISO
 
|-
! scope="row" | [[Assembly language]]
!{{rh}} | [[Coldfusion|ColdFusion]]
| <!-- Original purpose --> General
| Compilation
| <!-- Imperative --> {{yes}}
| ?
| <!-- Object-oriented --> {{no}}
| ?
| <!-- Functional --> {{no}}
| ?
| <!-- Procedural --> {{no}}
| 1995
| <!-- Generic --> {{no}}
| 16
| <!-- Reflective --> {{no}}
| +9
| <!-- Other paradigms --> Any, syntax is usually highly specific, related to the target processor
| <!-- Standardized? --> {{yes}}<br/>1985 IEEE 694-1985<ref>{{Cite web|url=https://standards.ieee.org/ieee/694/950/|title=IEEE Standards Association|website=IEEE Standards Association}}</ref>
 
|-
! scope="row" | [[AutoHotkey]]
! {{rh}} | [[Common Lisp|Common&nbsp;Lisp]]
| <!-- Original purpose --> GUI automation ([[Macro (computer science)#Application macros and scripting|macros]]), highly ___domain-specific
| Compilation
| <!-- Imperative --> {{yes}}
| [[Lisp programming language|Lisp]], [[Smalltalk]]
| <!-- Object-oriented --> {{yes}}<br/><ref>{{Cite web|url=https://www.autohotkey.com/docs/Objects.htm|title=Objects - Definition & Usage}}</ref>
| [[multi-paradigm programming language|multi-paradigm]]: [[functional programming|functional]], [[object-oriented programming|object-oriented]]
| <!-- Functional --> {{no}}
| dynamic
| <!-- Procedural --> {{yes}}
| 1984
| <!-- Generic --> {{no}}
| 14
| <!-- Reflective --> {{no}}
| +1
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[AutoIt]]
!{{rh}} | [[D_programming_language|D]]
| <!-- Original purpose --> GUI automation (macros), highly ___domain-specific
| Compilation
| <!-- Imperative --> {{yes}}
| [[C++]]
| <!-- Object-oriented --> {{no}}
| [[multi-paradigm programming language|multi-paradigm]]: [[imperative programming|imperative]], [[object-oriented programming|object-oriented]], [[generic programming|generic]]
| <!-- Functional --> {{no}}
| ?
| <!-- Procedural --> {{yes}}
| 2000
| <!-- Generic --> {{no}}
| 19
| <!-- Reflective --> {{no}}
| +8
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Ballerina (programming language)|Ballerina]]
!{{rh}} | [[Delphi_programming_language|Delphi]]
| <!-- Original purpose --> Integration, agile, [[server-side]], general
| Compilation
| <!-- Imperative --> {{yes}}
| [[Pascal programming language|Pascal]], [[Object Pascal]]
| <!-- Object-oriented --> {{yes}}
| [[multi-paradigm programming language|multi-paradigm]]: [[imperative programming|imperative]], [[object-oriented programming|object-oriented]]
| <!-- Functional --> {{yes}}
| static, strong
| <!-- Procedural --> {{yes}}
| 1995
| <!-- Generic --> {{no}}
| 10
| <!-- Reflective --> {{no}}
| -1
| <!-- Other paradigms --> Concurrent, transactional, statically and strongly typed, diagrammatic–visual
| <!-- Standardized? --> {{maybe|De facto}}<br/>standard via Ballerina Language Specification<ref>{{cite web |url=https://ballerina.io/res/Ballerina-Language-Specification-WD-2015-05-01.pdf |publisher=WSO2 |title=Ballerina Language Specification |date=2018-05-01 |access-date=2018-05-03 |archive-date=2018-05-04 |archive-url=https://web.archive.org/web/20180504090305/https://ballerina.io/res/Ballerina-Language-Specification-WD-2015-05-01.pdf |url-status=dead}}</ref>
 
|-
! {{rh}}scope="row" | [[JavaBash programming(Unix languageshell)|JavaBash]]
| <!-- Original purpose --> [[Shell (computing)|Shell]], [[Scripting language|scripting]]
| Interpretation/[[JIT compilation]]/[[Dynamic compilation]]
| <!-- Imperative --> {{yes}}
| [[C++]], [[Objective-C]]
| [[object<!--oriented programming|objectObject-oriented]] --> {{no}}
| <!-- Functional --> {{no}}
| static, strong
| <!-- Procedural --> {{yes}}
| 1996
| <!-- Generic --> {{no}}
| 1
| <!-- Reflective --> {{no}}
| +1
| <!-- Other paradigms -->
| <!-- Standardized? --> {{maybe|Optionally}}<br/>[[POSIX.2]]<ref name="POSIX 1003">[[POSIX.2]], Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992.)</ref>
 
|-
! {{rh}}scope="row" | [[JavaScriptBASIC]]
| <!-- Original purpose --> Application, education
| Interpretation
| <!-- Imperative --> {{yes}}
| [[C_programming_language|C]], [[LiveScript]]
| <!-- Object-oriented --> {{no}}
| [[multi-paradigm programming language|multi-paradigm]]: [[imperative programming|imperative]], [[object-oriented programming|object-oriented]], [[functional programming|functional]]
| <!-- Functional --> {{no}}
| dynamic
| <!-- Procedural --> {{yes}}
| 1995
| <!-- Generic --> {{no}}
| 9
| <!-- Reflective --> {{no}}
| +2
| <!-- Other paradigms -->
| <!-- Standardized? --> {{yes}}<br/>1983, ANSI, ISO, ECMA
 
|-
! {{rh}}scope="row" | [[MathematicaBeanShell]]
| <!-- Original purpose --> Application, scripting
| Interpretation
| <!-- Imperative --> {{yes}}
| [[Lisp programming language|Lisp]]
| <!-- Object-oriented --> {{yes}}
| Multiple paradigms
| dynamic, strong <!-- think soFunctional --> {{yes}}
| <!-- Procedural --> {{no}}
| 1986
| <!-- Generic --> {{no}}
| >50
| <!-- Reflective --> {{yes}}
| ?
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}<br/>In progress, [[Java Community Process|JCP]]<ref>{{Cite web|url=https://jcp.org/en/jsr/detail?id=274|title=The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 274|website=jcp.org}}</ref>
 
|-
! {{rh}}scope="row" | [[Objective-CBLISS]]
| <!-- Original purpose --> System
| Compilation/[[JIT compilation]]
| <!-- Imperative --> {{no}}
| [[C programming language|C]], [[Smalltalk]]
| [[object<!--oriented programming|objectObject-oriented]] --> {{no}}
| <!-- Functional --> {{no}}
| dynamic, strong
| <!-- Procedural --> {{yes}}
| 1986
| <!-- Generic --> {{no}}
| 49
| <!-- Reflective --> {{no}}
| ?
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! {{rh}}scope="row" | [[PerlBlitzMax]]
| <!-- Original purpose --> Application, game
| Interpretation
| <!-- Imperative --> {{yes}}
| [[C programming language|C]], [[Unix shell|shell]], [[awk]], [[sed]], [[Lisp programming language|Lisp]]
| <!-- Object-oriented --> {{yes}}
| [[multi-paradigm programming language|multi-paradigm]]: [[imperative programming|imperative]], [[object-oriented programming|object-oriented]]
| <!-- Functional --> {{no}}
| dynamic
| <!-- Procedural --> {{yes}}
| 1987
| <!-- Generic --> {{no}}
| 6
| <!-- Reflective --> {{yes}}
| -3
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Boo (programming language)|Boo]]
! {{rh}} | [[PHP]]
| <!-- Original purpose --> Application, game scripting
| Interpretation
| <!-- Imperative --> {{no}}
| [[Perl programming language|Perl]], [[C programming language|C]]
| <!-- Object-oriented --> {{yes}}
| [[multi-paradigm programming language|multi-paradigm]]: [[imperative programming|imperative]], [[object-oriented programming|object-oriented]]
| <!-- Functional --> {{no}}
| dynamic, strong
| <!-- Procedural --> {{no}}
| 1995
| <!-- Generic --> {{no}}
| 4
| <!-- Reflective --> {{no}}
| +1
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! {{rh}}scope="row" | [[PythonC (programming language)|PythonC]]
| <!-- Original purpose --> Application, system,<ref>{{Cite web|url=https://www.bell-labs.com/usr/dmr/www/chist.html|title=Chistory|website=www.bell-labs.com}}</ref> general purpose, low-level operations
| Interpretation
| <!-- Imperative --> {{yes}}
| [[ABC programming language|ABC]], [[Perl programming language|Perl]]
| <!-- Object-oriented --> {{no}}
| [[multi-paradigm programming language|multi-paradigm]]: [[imperative programming|imperative]], [[object-oriented programming|object-oriented]], [[functional programming|functional]]
| <!-- Functional --> {{no}}
| dynamic ([[duck typing|duck]]), strong
| <!-- Procedural --> {{yes}}
| 1991
| <!-- Generic --> {{no}}
| 8
| <!-- Reflective --> {{no}}
| 0
| <!-- Other paradigms -->
| <!-- Standardized? --> {{yes}}<br/>1989, [[ANSI C|ANSI C89, ISO/IEC C90, ISO/IEC C95, ISO/IEC C99, ISO/IEC C11, ISO/IEC C17, ISO/IEC C2x]]<ref>{{Cite web|url=https://www.open-std.org/JTC1/SC22/WG14/|title=ISO/IEC JTC1/SC22/WG14 - C|website=www.open-std.org}}</ref>
 
|-
! scope="row" | [[C++]]
! {{rh}} | [[Ruby programming language|Ruby]]
| <!-- Original purpose --> Application, system
| Interpretation
| <!-- Imperative --> {{yes}}
| [[Smalltalk]], [[Perl programming language|Perl]]
| <!-- Object-oriented --> {{yes}}
| [[multi-paradigm programming language|multi-paradigm]]: [[imperative programming|imperative]], [[object-oriented programming|object-oriented]], [[functional programming|functional]], [[concurrent programming|concurrent]]
| <!-- Functional --> {{yes}}
| dynamic ([[duck typing|duck]]), strong
| <!-- Procedural --> {{yes}}
| 1995
| <!-- Generic --> {{yes}}
| 20
| <!-- Reflective --> {{yes}}
| +10
| <!-- Other paradigms --> Concurrent
| <!-- Standardized? --> {{yes}}<br/>1998, [[C++#Standardization|ISO/IEC C++98, ISO/IEC C++03, ISO/IEC C++11, ISO/IEC C++14, ISO/IEC C++17, ISO/IEC C++20, ISO/IEC C++23, ISO/IEC C++26]]<ref>{{Cite web|url=https://www.open-std.org/JTC1/SC22/WG21/|title=ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee - ISOCPP|website=www.open-std.org}}</ref>
 
|-
! {{rh}}scope="row" | [[SchemeC Sharp (programming language)|SchemeC#]]
| <!-- Original purpose --> Application, RAD, business, client-side, general, server-side, web, [[game programming]]
| Interpretation
| <!-- Imperative --> {{yes}}
| [[Lisp programming language|Lisp]], [[ALGOL|Algol 60]]
| <!-- Object-oriented --> {{yes}}
| [[functional programming|functional]]
| <!-- Functional --> {{yes}}<ref>{{Cite web|url=http://www.codeproject.com/KB/cs/intro_functional_csharp.aspx|title=Codeproject.com: Functional Programming in C# 3.0 using Lambda Expression}}</ref>
| dynamic
| <!-- Procedural --> {{yes}}
| 1975
| <!-- Generic --> {{yes}}
| 14
| <!-- Reflective --> {{yes}}
| +1
| <!-- Other paradigms --> Concurrent, structured
| <!-- Standardized? --> {{yes}}<br/>2000, ECMA, ISO<ref>ECMA-334; ISO/IEC 23270:2006</ref>
 
|-
! scope="row" | [[Clarion (programming language)|Clarion]]
! {{rh}} | [[Smalltalk]]
| <!-- Original purpose --> General, business, web
| [[JIT compilation]]
| <!-- Imperative --> {{yes}}
| [[Sketchpad]], [[Simula]]
| [[object<!--oriented programming|objectObject-oriented]] --> {{yes}}
| <!-- Functional --> {{yes}}<ref>{{Cite web|url=https://www.softvelocity.com/|title=Clarion - Home|website=www.softvelocity.com}}</ref>
| dynamic
| <!-- Procedural --> {{no}}
| 1971
| <!-- Generic --> {{no}}
| 35
| <!-- Reflective --> {{no}}
| ?
| <!-- Other paradigms -->
| <!-- Standardized? --> {{unknown}}
 
|-
! scope="row" | [[Clean (programming language)|Clean]]
! {{rh}} | [[Visual_Basic|Visual&nbsp;Basic]]
| <!-- Original purpose --> General
| Compilation
| <!-- Imperative --> {{no}}
| [[QuickBASIC]]
| <!-- Object-oriented --> {{no}}
| [[event-driven programming|event-driven]]
| <!-- Functional --> {{yes}}
| static, strong
| <!-- Procedural --> {{no}}
| 1991
| <!-- Generic --> {{yes}}
| 5
| <!-- Reflective --> {{no}}
| +1
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Clojure]]
! {{rh}} | [[Visual_Basic_.NET|Visual&nbsp;Basic&nbsp;.NET]]
| <!-- Original purpose --> General
| [[JIT compilation]]
| <!-- Imperative --> {{no}}
| [[Visual Basic|Visual&nbsp;Basic]]
| <!-- Object-oriented --> {{no}}
| [[object-oriented programming|object-oriented]], [[event-driven programming|event-driven]]
| <!-- Functional --> {{yes}}
| static, strong
| <!-- Procedural --> {{no}}
| 2001
| <!-- Generic --> {{no}}
| 17
| <!-- Reflective --> {{no}}
| +11
| <!-- Other paradigms --> Concurrent
|}
| <!-- Standardized? --> {{no}}
 
|-
<!-- Firefox compatible spacing -->
! scope="row" | [[CLU (programming language)|CLU]]
<div style = "margin-bottom: 10px;">
| <!-- Original purpose --> General
</div>
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
<references/>
! scope="row" | [[COBOL]]
| <!-- Original purpose --> Application, business
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{yes}}<br/>1968 ANSI X3.23, 1974, 1985; ISO/IEC 1989:1985, 2002, 2014, 2023
 
|-
<!-- Firefox compatible spacing -->
! scope="row" | [[Cobra (programming language)|Cobra]]
<div style = "margin-top: 24px;">
| <!-- Original purpose --> Application, business, general, web
</div>
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: left; width: 500px;"
|- style="background: #ececec;"
|+ <span style = "font-size: 14px; font-weight: bold; font-family: verdana">Exceptions and inclusions</span><br>Exceptions and inclusions used in determining ''popularity'' and ''usage trend''
|-
! scope="row" | [[ColdFusion Markup Language|ColdFusion]] (CFML)
! Language
| <!-- Original purpose --> Web
! Exceptions/Inclusions
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Common Lisp]]
| Awk
| <!-- Original purpose --> General
| Included: awk, gawk, mawk, nawk
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Extensible syntax, [https://github.com/equwal/CLAPL Array-oriented], [[Macro (computer science)#Syntactic macros|syntactic macros]], [[multiple dispatch]], concurrent
| <!-- Standardized? --> {{yes}}<br/>1994, ANSI
 
|-
! scope="row" | [[COMAL]] 80
| C#
| <!-- Original purpose --> Education
| Included: C#, C-Sharp, C Sharp
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Crystal (programming language)|Crystal]]
| ColdFusion
| <!-- Original purpose --> General purpose
| Included: ColdFusion, Cold Fusion, CFMX, CFML
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}<ref>{{Cite web|url=https://github.com/crystal-lang/crystal#why|title=Crystal|website=[[GitHub]]|date=2 November 2021}}</ref>
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}<ref>{{Cite web|url=https://crystal-lang.org/reference/1.12/syntax_and_semantics/generics.html|title=Crystal Generics|website=crystal-lang.org|date=13 April 2024}}</ref>
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->Concurrent<ref>{{Cite web |title=Concurrency - Crystal |url=https://crystal-lang.org/reference/1.11/guides/concurrency.html |access-date=2024-04-02 |website=crystal-lang.org}}</ref>
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Curry (programming language)|Curry]]
| D
| <!-- Original purpose --> Application
| Exception: "3-D Programming"
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> [[lazy evaluation]], non-determinism
| <!-- Standardized? --> {{maybe|De facto}}<br/>standard via Curry Language Report
 
|-
! scope="row" | [[Cython]]
| Delphi/Kylix
| <!-- Original purpose --> Application, general, [[numerical computing]]
| Included: Delphi, Kylix
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> [[aspect-oriented programming|Aspect-oriented]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[D (programming language)|D]]
| IDL
| <!-- Original purpose --> Application, system
| Exception: "corba"
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Generative, concurrent
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Dart (programming language)|Dart]]
| Lisp/Scheme
| <!-- Original purpose --> Application, web, server-side, mobile, [[Internet of things|IoT]]
| Included: Lisp, Scheme
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Structured
| <!-- Standardized? --> {{yes}}<br/>ECMA-408 standard
 
|-
! scope="row" | [[Delphi (software)|Delphi]], [[Object Pascal]]
| Python
| <!-- Original purpose --> General purpose
| Included: Python, Jython, IronPython (Jan Persson)
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms -->
| <!-- Standardized? --><br/> {{unknown}}
 
 
|-
! scope="row" | [[Dylan (programming language)|Dylan]]
| T-SQL
| <!-- Original purpose --> Application
| Included: T-SQL, Transact-SQL
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Eiffel (programming language)|Eiffel]]
| Tcl/Tk
| <!-- Original purpose --> General, application, business, client-side, server-side, web (EWF)
| Included: Tcl/Tk, Tcl, Tk
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}<ref>{{Cite web|url=https://se.inf.ethz.ch/~meyer/publications/online/eiffel/basic.html|title=Bertrand Meyer: Basic Eiffel language mechanisms|website=se.inf.ethz.ch}}</ref><ref>[[Closure (computer programming)#Inline agents .28Eiffel.29:|Closure (computer programming)]]</ref>
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}} [http://se.inf.ethz.ch/old/people/leitner/erl_g Erl-G]
| <!-- Other paradigms --> Distributed [https://docs.eiffel.com/book/solutions/concurrent-eiffel-scoop: SCOOP], [https://docs.eiffel.com/book/method/void-safe-programming-eiffel: Void-safe]
| <!-- Standardized? --> {{yes}}<br/>2005, ECMA, ISO<ref>ECMA-367; ISO/IEC 25436:2006</ref>
 
|-
! scope="row" | [[ELAN (programming language)|ELAN]]
| VB.NET
| <!-- Original purpose --> Education
| Included: VB.NET, Visual Basic.NET, Visual Basic .NET, Visual Basic 2005, VB 2005
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> [[Structured programming|Structured]], [[Top-down and bottom-up design|stepwise refinement]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Elixir (programming language)|Elixir]]
| Visual FoxPro
| <!-- Original purpose --> Application, [[Distributed computing|distributed]]
| Included: FoxPro, Fox Pro, VFP
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Concurrent, distributed
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Erlang (programming language)|Erlang]]
| <!-- Original purpose --> Application, distributed
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Concurrent, distributed
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Euphoria (programming language)|Euphoria]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Factor (programming language)|Factor]]
| <!-- Original purpose --> General
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{maybe|Can be viewed as}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> [[stack-oriented programming|Stack-oriented]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[FP (programming language)|FP]]
| <!-- Original purpose -->
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[F Sharp (programming language)|F#]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Forth (programming language)|Forth]]
| <!-- Original purpose --> General
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Stack-oriented
| <!-- Standardized? --> {{yes}}<br/>1994, ANSI
 
|-
! scope="row" | [[Fortran]]
| <!-- Original purpose --> Application, numerical computing
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Array-based, vectorized, concurrent, native distributed/shared-memory parallelism
| <!-- Standardized? --> {{yes}}<br/>1966, ANSI 66, ANSI 77, MIL-STD-1753, ISO 90, ISO 95, ISO 2003, ISO/IEC 1539-1:2010 (2008), ISO/IEC JTC1/SC22/WG5 N2145 (2018)
 
|-
! scope="row" | [[FreeBASIC]]
| <!-- Original purpose --> Application, numerical computing
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Gambas]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Game Maker Language]]
| <!-- Original purpose --> Application, game programming
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[GLBasic]]
| <!-- Original purpose --> Application, games
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Simple object-oriented
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Go (programming language)|Go]]
| <!-- Original purpose --> Application, web, server-side
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{maybe|Can be viewed as}}<ref>{{Cite web|url=https://go.dev/doc/faq|title=Frequently Asked Questions (FAQ) - The Go Programming Language|website=go.dev}}</ref>
| <!-- Functional --> {{maybe|Can be viewed as}}<ref>{{Cite web |url=https://go.dev/doc/codewalk/functions/ |title=Codewalk: First-Class Functions in Go |quote=Go supports first class functions, higher-order functions, user-defined function types, function literals, closures, and multiple return values. This rich feature set supports a functional programming style in a strongly typed language.}}</ref>
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Concurrent
| <!-- Standardized? --> {{maybe|De facto}}<br/>standard via Go Language Specification
 
|-
! scope="row" | [[Gosu (programming language)|Gosu]]
| <!-- Original purpose --> Application, general, scripting, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[GraphTalk]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Logic
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Groovy (programming language)|Groovy]]
| <!-- Original purpose --> Application, general, scripting, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Meta-programming
| <!-- Standardized? --> {{no}}<br/>In progress, [[Java Community Process|JCP]]<ref>{{Cite web|url=https://jcp.org/en/jsr/detail?id=241|title=The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 241|website=jcp.org}}</ref>
 
|-
! scope="row" | [[Harbour (programming language)|Harbour]]
| <!-- Original purpose --> Application, business, data processing, general, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> [[declarative programming|Declarative]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Haskell]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Lazy evaluation
| <!-- Standardized? --> {{yes}}<br/>2010, Haskell 2010<ref>{{cite web |url=http://www.haskell.org/onlinereport/haskell2010/ |title=The Haskell 2010 Language Report |access-date=2011-12-07}} Most Haskell implementations extend the Haskell 2010 standard.</ref>
 
|-
! scope="row" | [[Haxe]]
| <!-- Original purpose --> Application, general, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[HyperTalk]]
| <!-- Original purpose --> Application, RAD, general
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Weakly typed
| <!-- Standardized? --> {{unknown}}
 
|-
! scope="row" | [[Io (programming language)|Io]]
| <!-- Original purpose --> Application, host-driven scripting
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Information Processing Language|IPL]]
| <!-- Original purpose --> General
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{unknown}}
 
|-
! scope="row" | [[ISLISP]]
| <!-- Original purpose --> General
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{yes}}<br/>1997, 2007, [[International Organization for Standardization|ISO]]
 
|-
! scope="row" | [[J (programming language)|J]]
| <!-- Original purpose --> Application, [[data processing]]
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Array-oriented, [[function-level programming|function-level]], tacit, concurrent
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[JADE (programming language)|JADE]]
| <!-- Original purpose --> Application, distributed
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Java (programming language)|Java]]
| <!-- Original purpose --> Application, business, client-side, general, mobile development, server-side, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Concurrent
| <!-- Standardized? --> {{maybe|De facto}}<br/>standard via Java Language Specification
 
|-
! scope="row" | [[JavaScript]]
| <!-- Original purpose --> Client-side, server-side, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> [[prototype-based]]
| <!-- Standardized? --> {{yes}}<br/>[[ECMA-262]] standard
 
|-
! scope="row" | [[Joy (programming language)|Joy]]
| <!-- Original purpose --> Research
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Stack-oriented
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[jq (programming language)|jq]]
| <!-- Original purpose --> "awk for JSON"
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> [[Tacit programming|Tacit]], [[Backtracking]], [[Generator (computer programming)|Streaming]], [[Parsing expression grammar|PEG]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Julia (programming language)|Julia]]
| <!-- Original purpose --> General, technical computing
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{maybe|Can be viewed as}}<ref>{{Cite web |url=https://medium.com/@abhimanyuaryan/object-oriented-programming-in-julia-4dbde2661fde|title=Object-Oriented programming in julia|date=4 June 2023 |quote= in Julia, Oriented programming is not the primary focus, instead it emphasizes multiple dispatches, a more general concept. Despite this, OOP can still be achieved in Julia through the use of composite types and methods.}}</ref><ref>{{Cite web |url=https://dev.to/acmion/julia-object-oriented-programming-5dgh |title=Julia Object Oriented Programming |date=29 May 2021 |quote=Julia does only partially support object oriented programming (OOP) }}</ref>
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Multiple dispatch, meta, scalar and array-oriented, parallel, concurrent, distributed ("cloud")
| <!-- Standardized? --> {{maybe|De facto}}<br/>standard via Julia Documentation<ref>{{Cite web|url=https://docs.julialang.org/en/v1/|title=Julia Documentation · The Julia Language|website=docs.julialang.org}}</ref>
 
|-
! scope="row" | [[K (programming language)|K]]
| <!-- Original purpose --> Data processing, business
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Array-oriented, tacit
| <!-- Standardized? --> {{unknown}}
 
|-
! scope="row" | [[Kotlin (programming language)|Kotlin]]
| <!-- Original purpose --> Application, general, mobile development, server-side, client-side, web, scripting<ref>{{Cite web|url=https://github.com/Kotlin/kotlin-script-examples/blob/master/jvm/main-kts/MainKts.md|title=kotlin-script-examples/jvm/main-kts/MainKts.md at master · Kotlin/kotlin-script-examples|website=GitHub}}</ref>, ___domain-specific<ref>{{Cite web|url=https://kotlinlang.org/docs/type-safe-builders.html|title=Type-safe builders &#124; Kotlin|website=Kotlin Help}}</ref>
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}<ref>{{cite web |url=http://blog.jetbrains.com/kotlin/2014/07/m8-is-out/ |title=M8 is out! |date=2 July 2014 |quote=As a first peek into the future reflective capabilities of Kotlin, you can now access properties as first-class objects in Kotlin}}</ref>
| <!-- Other paradigms --> Concurrent<ref>{{Cite web|url=https://kotlinlang.org/docs/coroutines-overview.html|title=Coroutines &#124; Kotlin|website=Kotlin Help}}</ref>
| <!-- Standardized? --> {{maybe|De facto}}<br/>standard via Kotlin Language Specification
 
|-
! scope="row" | [[KornShell|Ksh]]
| <!-- Original purpose --> [[Shell (computing)|Shell]], [[Scripting language|scripting]]
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Several variants, custom programmable, dynamic loadable modules
| <!-- Standardized? --> {{maybe|Optionally}}<br/>[[POSIX.2]]<ref name="POSIX 1003"/>
 
|-
! scope="row" | [[LabVIEW]] (G)
| <!-- Original purpose --> Application, industrial instrumentation-automation
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> [[dataflow programming|Dataflow]], [[visual programming language|visual]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Lisp (programming language)|Lisp]]
| <!-- Original purpose --> General
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{unknown}}
 
|-
! scope="row" | [[LiveCode]]
| <!-- Original purpose --> Application, RAD, general
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Weakly typed
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Logtalk]]
| <!-- Original purpose --> Artificial intelligence, application
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Logic
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Linden Scripting Language]] (LSL)
| <!-- Original purpose --> Virtual worlds content scripting and animation
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Scripts exist in in-world objects
| <!-- Standardized? --> {{maybe|De facto}}<br/>reference is the [[Second Life]] implementation of [[Linden Scripting Language|LSL]].<ref>Halcyon (Inworldz) and Open Sims propose compatible implementations with additional functions.</ref>
 
|-
! scope="row" | [[Lua (programming language)|Lua]]
| <!-- Original purpose --> Application, embedded scripting
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}<ref>Lua does not have explicit "object" type (more general type of "table" is used for object definition), but does have explicit syntax for object method calling</ref>
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Aspect-oriented, prototype-based
| <!-- Standardized? --> {{no}}<ref>Version releases are accompanied with a definitive Lua Reference Manual showing full syntax and semantics; a reference implementation, and a test suite. These are used to generate other Lua [[virtual machine|VM]] implementations and compilers such as Kahlua and LLVM-Lua.</ref>
 
|-
! scope="row" | [[Maple (software)|Maple]]
| <!-- Original purpose --> Symbolic computation, numerical computing
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Distributed
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Mathematica]]
| <!-- Original purpose --> [[Symbolic language (programming)|Symbolic language]]
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Logic, distributed
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[MATLAB]]
| <!-- Original purpose --> Highly ___domain-specific, numerical computing
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Modula-2]]
| <!-- Original purpose --> Application, system
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{yes}}<br/>1996, ISO<ref>ISO/IEC 10514-1:1996</ref>
 
|-
! scope="row" | [[Modula-3]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[MUMPS]] (M)
| <!-- Original purpose --> General, application, databases
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{planned|Approved for next Standard}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{some|Partially}} Thru Indirection and Xecute
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> [[Concurrent computing|Concurrent]], [[multi-user]], [[NoSQL]], [[transaction processing]]
| <!-- Standardized? --> {{yes}}<br/>1977 ANSI, 1995, ISO 2020
 
|-
! scope="row" | [[Nim (programming language)|Nim]]
| <!-- Original purpose --> Application, general, web, scripting, system
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Multiple dispatch, concurrent, [[Metaprogramming|meta]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Oberon (programming language)|Oberon]]
| <!-- Original purpose --> Application, system
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Object Pascal]]
| <!-- Original purpose --> Application, general, mobile app, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Structured
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Objective-C]]
| <!-- Original purpose --> Application, general
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Concurrent
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[OCaml]]
| <!-- Original purpose --> Application, general
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Occam (programming language)|Occam]]
| <!-- Original purpose --> General
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Concurrent, [[process-oriented programming|process-oriented]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Opa (programming language)|Opa]]
| <!-- Original purpose --> Web applications
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Distributed
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[OpenLisp]]
| <!-- Original purpose --> General, Embedded Lisp Engine
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{maybe|Optionally}}<br/> [[ISLISP]]
 
|-
! scope="row" | [[Oxygene (programming language)|Oxygene]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Oz (programming language)|Oz-Mozart]]
| <!-- Original purpose --> Application, distribution, education
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Concurrent, logic
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Pascal (programming language)|Pascal]]
| <!-- Original purpose --> Application, education
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{yes}}<br/>1983, ISO<ref>ISO 7185</ref>
 
|-
! scope="row" | [[Perl]]
| <!-- Original purpose --> Application, scripting, text processing, Web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[PHP]]
| <!-- Original purpose --> Server-side, web application, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}<ref>[http://php.net/manual/en/index.php PHP Manual], [http://php.net/manual/en/language.oop5.php Chapter 19. Classes and Objects (PHP 5)],</ref>
| <!-- Functional --> {{yes}}<ref>[http://php.net/manual/en/index.php PHP Manual], [http://php.net/manual/en/language.functions.php Chapter 17. Functions]</ref>
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{maybe|De facto}}<br/>standard via language specification and Requests for Comments (RFCs)
 
|-
! scope="row" | [[PL/I]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{yes}}<br/>1969, ECMA-50 (1976)
 
|-
! scope="row" | [[Plus (programming language)|Plus]]
| <!-- Original purpose --> Application, system development
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[PostScript]]
| <!-- Original purpose --> Graphics, page description
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> [[Concatenative programming language|Concatenative]], [[Stack-oriented programming|stack-oriented]]
| <!-- Standardized? --> {{maybe|De facto}}<br/>standard via the PostScript Reference Manual<ref>{{Cite web |url=https://www.adobe.com/products/postscript/pdfs/PLRM.pdf |title=PostScript Language Reference Manual |access-date=2017-02-18 |archive-url=https://web.archive.org/web/20170218093716/https://www.adobe.com/products/postscript/pdfs/PLRM.pdf |archive-date=2017-02-18 |url-status=dead}}</ref>
 
|-
! scope="row" | [[Windows PowerShell|PowerShell]]
| <!-- Original purpose --> Administration, application, general, scripting
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> [[pipeline programming|Pipeline]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Prolog]]
| <!-- Original purpose --> Application, artificial intelligence
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Logic, declarative
| <!-- Standardized? --> {{yes}}<br/>1995, ISO/IEC 13211-1:1995, TC1 2007, TC2 2012, TC3 2017
 
|-
! scope="row" | [[PureBasic]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Python (programming language)|Python]]
| <!-- Original purpose --> Application, general, web, scripting, artificial intelligence, scientific computing
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Aspect-oriented
| <!-- Standardized? --> {{maybe|De facto}}<br/>standard via Python Enhancement Proposals (PEPs)
 
|-
! scope="row" | [[R (programming language)|R]]
| <!-- Original purpose --> Application, statistics
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Racket (programming language)|Racket]]
| <!-- Original purpose --> Education, general, scripting
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> [[Modular programming|Modular]], logic, meta
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Raku (programming language)|Raku]]
| <!-- Original purpose --> Scripting, text processing, glue
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Aspect-oriented, array, lazy evaluation, multiple dispatch, metaprogramming
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[REALbasic]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{unknown}}
 
|-
! scope="row" | [[Rebol]]
| <!-- Original purpose --> Distributed
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> [[dialecting|Dialected]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[REXX]]
| <!-- Original purpose --> Scripting
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}} ([[NetRexx]] and [[Object REXX]] dialects)
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{yes}}<br/>1996 (ANSI X3.274-1996)
 
|-
! scope="row" | [[IBM RPG|RPG]]
| <!-- Original purpose --> Application, system
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Ring (programming language)|Ring]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> metaprogramming, declarative, [[natural-language programming|natural-language]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Ruby (programming language)|Ruby]]
| <!-- Original purpose --> Application, scripting, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Aspect-oriented
| <!-- Standardized? --> {{yes}}<br/>2011(JIS X 3017), 2012(ISO/IEC 30170)
 
|-
! scope="row" | [[Rust (programming language)|Rust]]
| <!-- Original purpose --> Application, server-side, system, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{maybe|Can be viewed as}}<ref>{{Cite web|url=https://doc.rust-lang.org/book/ch17-00-oop.html|title=Object-Oriented Programming Features|website=doc.rust-lang.org}}</ref>
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}<ref>{{cite book |last1=Klabnik |first1=Steve |last2=Nichols |first2=Carol |title=The Rust Programming Language |url=https://doc.rust-lang.org/book/title-page.html |chapter=Macros |chapter-url=https://doc.rust-lang.org/book/ch19-06-macros.html}}</ref>
| <!-- Other paradigms --> Concurrent
| <!-- Standardized? --> {{maybe|De facto}} standard by the official Rust releases
 
|-
! scope="row" | [[S (programming language)|S]]
| <!-- Original purpose --> Application, statistics
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[S-Lang]]
| <!-- Original purpose --> Application, numerical, scripting
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Scala (programming language)|Scala]]
| <!-- Original purpose --> Application, general, parallel, distributed, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Data-oriented programming, metaprogramming
| <!-- Standardized? --> {{maybe|De facto}}<br/>standard via Scala Language Specification (SLS)
 
|-
! scope="row" | [[Scheme (programming language)|Scheme]]
| <!-- Original purpose --> Education, general
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> meta, extensible-syntax
| <!-- Standardized? --> {{maybe|De facto}}<br/>1975-2013, R<sup>0</sup>RS, R<sup>1</sup>RS, R<sup>2</sup>RS, R<sup>3</sup>RS, R<sup>4</sup>RS, R<sup>5</sup>RS, R<sup>6</sup>RS, R<sup>7</sup>RS Small Edition<ref>{{Cite web|url=https://standards.scheme.org/|title=Scheme Standards|website=standards.scheme.org}}</ref><ref>{{Cite web|url=https://standards.scheme.org/early/|title=Scheme Standards|website=standards.scheme.org}}</ref>
 
|-
! scope="row" | [[Seed7]]
| <!-- Original purpose --> Application, general, scripting, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Multi-paradigm, extensible, structured
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Simula]]
| <!-- Original purpose --> Education, general
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> [[discrete event simulation]], [[multi-threaded]] (quasi-parallel) program execution
| <!-- Standardized? --> {{yes}}<br/>1968
 
|-
! scope="row" | [[Microsoft Small Basic|Small Basic]]
| <!-- Original purpose --> Application, education, games
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> [[component-oriented programming|Component-oriented]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Smalltalk]]
| <!-- Original purpose --> Application, general, business, artificial intelligence, education, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Concurrent, declarative
| <!-- Standardized? --> {{yes}}<br/>1998, ANSI
 
|-
! scope="row" | [[SNOBOL]]
| <!-- Original purpose --> Text processing
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{unknown}}
 
|-
! scope="row" | [[Standard ML]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{yes}}<br/>1997, SML '97<ref>{{Cite web|url=http://www.smlnj.org/sml97.html|title=SML '97|website=www.smlnj.org}}</ref>
 
|-
! scope="row" | [[Swift (programming language)|Swift]]
| <!-- Original purpose --> Application, general
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Concurrent, declarative, [[Protocol (object-oriented programming)|protocol-oriented]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Tcl]]
| <!-- Original purpose --> Application, scripting, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[V (programming language)|V (Vlang)]]
| <!-- Original purpose --> Application, general, system, game, web, server-side
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{maybe|Can be viewed as}}
| <!-- Functional --> {{maybe|Can be viewed as}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Concurrent
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Visual Basic (classic)|Visual Basic]]
| <!-- Original purpose --> Application, RAD, education, business, general, (Includes VBA), office automation
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Component-oriented
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | {{nowrap|[[Visual Basic .NET]]}}
| <!-- Original purpose --> Application, RAD, education, web, business, general
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Structured, concurrent
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Visual FoxPro]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Data-centric, logic
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Visual Prolog]]
| <!-- Original purpose --> Application
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Declarative, logic
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Wolfram Language]]
| <!-- Original purpose --> Symbolic language
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Logic, distributed
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[XL (programming language)|XL]]
| <!-- Original purpose -->
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> [[concept programming]]
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Xojo]]
| <!-- Original purpose --> Application, RAD, general, web
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{yes}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[XPath]]/[[XQuery]]
| <!-- Original purpose --> Databases, data processing, scripting
| <!-- Imperative --> {{no}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> [[Tree (data structure)|Tree-oriented]]
| <!-- Standardized? --> {{yes}}<br/>1999 W3C XPath 1, 2010 W3C XQuery 1, 2014 W3C XPath/XQuery 3.0
 
|-
! scope="row" | [[Zeek]]
| <!-- Original purpose --> Domain-specific, application
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{no}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms -->
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Zig (programming language)|Zig]]
| <!-- Original purpose --> Application, general, system
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{yes}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{yes}}
| <!-- Reflective --> {{yes}}
| <!-- Other paradigms --> Concurrent
| <!-- Standardized? --> {{no}}
 
|-
! scope="row" | [[Z shell|Zsh]]
| <!-- Original purpose --> [[Shell (computing)|Shell]], [[Scripting language|scripting]]
| <!-- Imperative --> {{yes}}
| <!-- Object-oriented --> {{no}}
| <!-- Functional --> {{no}}
| <!-- Procedural --> {{yes}}
| <!-- Generic --> {{no}}
| <!-- Reflective --> {{no}}
| <!-- Other paradigms --> Loadable modules
| <!-- Standardized? --> {{maybe|Optionally}}<br/>[[POSIX.2]]<ref name="POSIX 1003"/>
|}
 
==Type systems==
<!-- Firefox compatible spacing -->
{{main|Comparison of programming languages by type system}}
<div style = "margin-bottom: 30px;">
 
</div>
==Failsafe I/O and system calls==
Most programming languages will print an [[error message]] or throw an [[exception handling|exception]] if an [[input/output]] operation or other [[system call]] (e.g., [[chmod]], [[kill (Unix)|kill]]) fails, unless the programmer has explicitly arranged for different handling of these events. Thus, these languages [[failsafe|fail safely]] in this regard.
 
Some (mostly older) languages require that programmers explicitly add checks for these kinds of errors. Psychologically, different [[List of cognitive biases|cognitive biases]] (e.g., [[optimism bias]]) may affect novices and experts alike and lead them to skip these checks. This can lead to [[software bug|erroneous behavior]].
 
'''Failsafe I/O''' is a feature of [[1C:Enterprise programming language|1C:Enterprise]], [[Ada (programming language)|Ada]] (exceptions), [[ALGOL]] (exceptions or return value depending on function), [[Ballerina (programming language)|Ballerina]], [[C Sharp (programming language)|C#]], [[Common Lisp]] ("conditions and restarts" system), [[Curry (programming language)|Curry]], [[D (programming language)|D]] (throwing on failure),<ref>{{Cite web|url=https://dlang.org/phobos/std_stdio.html|title=std.stdio - D Programming Language|website=dlang.org}}</ref> [[Erlang (programming language)|Erlang]], [[Fortran]], [[Go (programming language)|Go]] (unless result explicitly ignored), [[Gosu (programming language)|Gosu]], [[Harbour (programming language)|Harbour]], [[Haskell]], [[ISLISP]], [[Java (programming language)|Java]], [[Julia (programming language)|Julia]], [[Kotlin (programming language)|Kotlin]], [[LabVIEW]], [[Mathematica]], [[Objective-C]] (exceptions), [[OCaml]] (exceptions), [[OpenLisp]], [[PHP]], [[Python (programming language)|Python]], [[Raku (programming language)|Raku]], [[Rebol]], [[Rexx]] (with optional '''signal on'''... trap handling), [[Ring (programming language)|Ring]], [[Ruby (programming language)|Ruby]], [[Rust (programming language)|Rust]] (unless result explicitly ignored), [[Scala (programming language)|Scala]],<ref>Scala runs on the Java Virtual Machine from which it inherits the runtime exception handling.</ref> [[Smalltalk]], [[Standard ML]] {{citation needed|date=February 2011}}, [[Swift (programming language)|Swift ≥ 2.0]] (exceptions), [[Tcl]], [[Visual Basic (classic)|Visual Basic]], [[Visual Basic (.NET)|Visual Basic .NET]], [[Visual Prolog]], [[Wolfram Language]], [[Xojo]], [[XPath]]/[[XQuery]] (exceptions), and [[Zeek]].
 
'''No Failsafe I/O''':
[[AutoHotkey]] (global ErrorLevel must be explicitly checked), [[C (programming language)|C]],<ref name="VS">[[GNU compiler collection|gcc]] can warn on unchecked [[errno.h|errno]]. Newer versions of [[Visual Studio]] usually throw exceptions on failed I/O when using [[C file input/output|stdio]].</ref> [[COBOL]], [[Eiffel (programming language)|Eiffel]] (it actually depends on the library and it is not defined by the language), [[GLBasic]] (will generally cause program to crash), [[IBM RPG|RPG]], [[Lua (programming language)|Lua]] (some functions do not warn or throw exceptions), and [[Perl]].<ref>Considerable error checking can be enabled optionally, but by default Perl is not failsafe.</ref>
 
Some I/O checking is built in [[C++]] ([[Input/output (C++)|STL iostreams]] throw on failure but C APIs like [[C file input/output|stdio]] or [[C POSIX library|POSIX]] do not)<ref name="VS"/> and [[Object Pascal]], in [[Bash (Unix shell)|Bash]]<ref><code>set -e</code> enables termination if any unchecked [[exit status]] is nonzero.</ref> it is optional.
 
==Expressiveness==
{|class="wikitable sortable" style="float:right;"
|-
! scope="col" | Language
! scope="col" | Statements ratio<ref>Data from {{cite book |last=McConnell |first=Steve |date=30 November 2009 |url=https://books.google.com/books?id=3JfE7TGUwvgC&pg=PT100 |title=Code Complete |page=100 |publisher=Microsoft Press |isbn=9780735636972}} The ''Statements ratio'' column "shows typical ratios of source statements in several high-level languages to the equivalent code in C. A higher ratio means that each line of code in the language listed accomplishes more than does each line of code in C.</ref>
! scope="col" | Lines ratio<ref>The ratio of line count tests won by each language to the number won by C when using the ''Compare to'' feature at {{cite web |url=https://blog.wolfram.com/2012/11/14/code-length-measured-in-14-languages/ |title=Code Length Measured in 14 Languages |last=McLoone |first=Jon |date=November 14, 2012 |archive-url=https://web.archive.org/web/20121119043607/https://blog.wolfram.com/2012/11/14/code-length-measured-in-14-languages/ |archive-date=2012-11-19}} C gcc was used for C, C++ g++ was used for C++, FORTRAN G95 was used for FORTRAN, Java JDK Server was used for Java, and Smalltalk GST was used for Smalltalk.</ref>
|-
| C || 1 || 1
|-
| C++ || 2.5 || 1
|-
| Fortran || 2 || 0.8
|-
| Java || 2.5 || 1.5
|-
| Perl || 6 || 6
|-
| Smalltalk || 6 || 6.25
|-
| Python || 6 || 6.5
|}
 
The literature on programming languages contains an abundance of informal claims about their relative [[Expressive power (computer science)|expressive power]], but there is no framework for formalizing such statements nor for deriving interesting consequences.<ref>{{cite conference |citeseerx=10.1.1.51.4656 |title=On the Expressive Power of Programming Languages |first=Matthias |last=Felleisen |conference=ESOP '90 3rd European Symposium on Programming}}</ref> This table provides two measures of expressiveness from two different sources. An additional measure of expressiveness, in GZip bytes, can be found on the Computer Language Benchmarks Game.<ref>{{Cite web|url=https://benchmarksgame-team.pages.debian.net/benchmarksgame/how-programs-are-measured.html#source-code|title=How programs are measured |website=Computer Language Benchmarks Game|access-date=2018-05-29}}</ref>
{{-}}
 
==Benchmarks==
[[File:Barplot language speeds (Benchmarks Game Mandelbrot).svg|thumb|Barplot of log-time to produce a 1600² Mandelbrot<ref>{{Cite book|last=Mandelbrot|first=Benoit B. |title=The fractal geometry of nature|date=1982|isbn=0-7167-1186-9|edition=Revised |___location=San Francisco|oclc=7876824}}</ref> as reported in ''The Benchmarks Game''<ref>{{Cite web|title=Mandelbrot |website=Computer Language Benchmarks Game|url=https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/mandelbrot.html|access-date=2021-07-09}}</ref>]]
 
[[benchmark (computing)|Benchmarks]] are designed to mimic a particular type of workload on a component or system. The computer programs used for compiling some of the benchmark data in this section may not have been fully optimized, and the relevance of the data is disputed. The most accurate benchmarks are those that are customized to your particular situation. Other people's benchmark data may have some value to others, but proper interpretation brings many [[benchmark (computing)#Challenges|challenges]]. [[The Computer Language Benchmarks Game]] site warns against over-generalizing from benchmark data, but contains a large number of micro-benchmarks of reader-contributed code snippets, with an interface that generates various charts and tables comparing specific programming languages and types of tests.<ref>{{Cite web |url=https://benchmarksgame-team.pages.debian.net/benchmarksgame/dont-jump-to-conclusions.html |title=The Ultimate Benchmark |website=The Computer Language Benchmarks Game |access-date=2018-05-29}}</ref>
 
==Timeline of specific language comparisons==
* 1974 – Comparative Notes on Algol 68 and PL/I<ref>{{cite journal |last1=Valentine |first1=S. H. |date=November 1974 |title=Comparative Notes on Algol 68 and PL/I |journal=The Computer Journal |volume=17 |issue=4 |pages=325–331 |doi=10.1093/comjnl/17.4.325 |doi-access=free}}</ref> – S. H. Valentine – November 1974
* 1976 – Evaluation of [[ALGOL 68]], [[JOVIAL]] J3B, [[Pascal (programming language)|Pascal]], [[Simula]] 67, and [[TACPOL]] Versus TINMAN – Requirements for a Common High Order Programming Language.<!-- [https://web.archive.org/web/20170523233517/http://www.dtic.mil/srch/doc?collection=t2&id=ADA037637 Report Number: 1021-14] -->
* 1977 – A comparison of PASCAL and ALGOL 68<ref>{{Cite web|url=http://dare.ubvu.vu.nl/bitstream/1871/2609/1/11054.pdf|title=Vrije Universiteit Amsterdam}}</ref> – [[Andrew S. Tanenbaum]] – June 1977.
* 1993 – Five Little Languages and How They Grew – [[BLISS]], [[Pascal (programming language)|Pascal]], [[ALGOL 68]], [[BCPL]] & [[C (programming language)|C]] – [[Dennis M. Ritchie]] – April 1993.
* 2009 – On Go – oh, go on – How well will Google's [[Go (programming language)|Go]] stand up against Brand X programming language? – David Given – November 2009
 
==See also==
{{Category tree all|Lists of programming languages|mode=all|depth=2}}
 
* [[Comparison of programming languages (basic instructions)]]
* [[Comparison of programming languages (syntax)]]
* [[Comparison of integrated development environments]]
* [[Comparison of multi-paradigm programming languages]]
* [[TIOBE index]]
 
==References==
{{Reflist|30em}}
 
==Further reading==
* {{cite book |last=Cezzar |first=Ruknet |year=1995 |title=A Guide to Programming Languages: Overview and Comparison |publisher=Artech House |isbn=978-0-89006-812-0 |url-access=registration |url=https://archive.org/details/authenticationsy0000oppl}}
 
{{Programming languages}}
 
[[Category:Programming language comparisons| ]]
{{compu-lang-stub}}
[[Category:Programming languages]]
[[Category:Programming language comparison]]
[[pt:Comparação entre linguagens de programação]]