Sandbox: Difference between revisions

Content added Content deleted
m (Not sure where this should go...)
m (Added tons of links to the table)
Line 1: Line 1:
{|class="wikitable sortable"
{|class="wikitable sortable"
! [[Programming Language|Language]]
! Language
! Paradigm(s)
! Paradigm(s)
! Standarized
! Standarized
! Type strength
! [[Type strength]]
! Type safety
! [[Type safety]]
! Expression of types
! Expression of types
! Type Compatability
! Type Compatability
Line 12: Line 12:
|-
|-
! [[ActionScript]]
! [[ActionScript]]
| imperative programming, object-oriented, event-driven programming
| [[imperative programming]], [[object-oriented]], event-driven programming
| {{yes}}, ECMA
| {{yes}}, [[ECMA]]
| strong
| strong
| safe
| safe
Line 23: Line 23:
|-
|-
! [[Ada]]
! [[Ada]]
| concurrent, distributed programming, generic programming, imperative programming, object-oriented
| concurrent, distributed programming, generic programming, [[imperative programming]], [[object-oriented]]
| {{yes}}, ANSI, ISO
| {{yes}}, [[ANSI]], ISO
| strong
| strong
| safe
| safe
Line 34: Line 34:
|-
|-
! [[ALGOL 68]]
! [[ALGOL 68]]
| concurrent, imperative programming
| concurrent, [[imperative programming]]
| {{no}}
| {{no}}
| strong
| strong
Line 45: Line 45:
|-
|-
! [[BASIC]]
! [[BASIC]]
| procedural programming
| [[procedural programming]]
| {{yes}}, ANSI, ISO
| {{yes}}, [[ANSI]], ISO
| varies by dialect
| varies by dialect
|
|
Line 56: Line 56:
|-
|-
! [[C]]
! [[C]]
| imperative programming
| [[imperative programming]]
| {{yes}}, ANSI C89, ISO C90/C99
| {{yes}}, [[ANSI]] C89, ISO C90/C99
| weak
| weak
| unsafe
| unsafe
Line 67: Line 67:
|-
|-
! [[C sharp|C#]]
! [[C sharp|C#]]
| imperative programming, object-oriented, generic programming, reflective programming
| [[imperative programming]], [[object-oriented]], generic programming, reflective programming
| {{yes}}, ECMA, ISO
| {{yes}}, [[ECMA]], ISO
| strong
| strong
| safe (but unsafe allowed)
| safe (but unsafe allowed)
Line 78: Line 78:
|-
|-
! [[C++]]
! [[C++]]
| imperative programming, object-oriented, generic programming
| [[imperative programming]], [[object-oriented]], generic programming
| {{yes}}, ISO
| {{yes}}, ISO
| strong
| strong
Line 89: Line 89:
|-
|-
! [[Clean]]
! [[Clean]]
| functional programming, generic programming
| [[functional programming]], generic programming
| {{no}}
| {{no}}
| strong
| strong
Line 100: Line 100:
|-
|-
! [[COBOL]]
! [[COBOL]]
| imperative programming, object-oriented
| [[imperative programming]], [[object-oriented]]
| {{yes}}
| {{yes}}
| strong
| strong
Line 111: Line 111:
|-
|-
! [[ColdFusion]]
! [[ColdFusion]]
| procedural programming, object-oriented
| [[procedural programming]], [[object-oriented]]
| {{no}}
| {{no}}
| weak
| weak
Line 122: Line 122:
|-
|-
! [[Common Lisp]]
! [[Common Lisp]]
| imperative programming, functional programming, object-oriented
| [[imperative programming]], [[functional programming]], [[object-oriented]]
| {{yes}}
| {{yes}}
| strong
| strong
Line 130: Line 130:
| dynamic
| dynamic
| General
| General
| Standardize Lisp
| Standardize [[Lisp]]
|-
|-
! [[D]]
! [[D]]
| imperative programming, object-oriented, generic programming
| [[imperative programming]], [[object-oriented]], generic programming
| {{no}}
| {{no}}
| strong
| strong
Line 144: Line 144:
|-
|-
! [[Eiffel]]
! [[Eiffel]]
| imperative programming, object-oriented, generic programming
| [[imperative programming]], [[object-oriented]], generic programming
| {{yes}}, ECMA-367, ISO/IEC 25436:2006
| {{yes}}, [[ECMA]]-367, ISO/IEC 25436:2006
| strong
| strong
| safe
| safe
Line 155: Line 155:
|-
|-
! [[Erlang]]
! [[Erlang]]
| functional programming, concurrent, distributed programming
| [[functional programming]], concurrent, distributed programming
| {{no}}
| {{no}}
| strong
| strong
Line 166: Line 166:
|-
|-
! [[Forth]]
! [[Forth]]
| imperative programming, stack-oriented
| [[imperative programming]], stack-oriented
| {{yes}}, ANSI
| {{yes}}, [[ANSI]]
| none
| none
| n/a
| n/a
Line 177: Line 177:
|-
|-
! [[Fortran]]
! [[Fortran]]
| imperative programming, procedural programming, object-oriented
| [[imperative programming]], [[procedural programming]], [[object-oriented]]
| {{yes}}
| {{yes}}
| strong
| strong
Line 188: Line 188:
|-
|-
! [[Groovy]]
! [[Groovy]]
| imperative programming, object-oriented, aspect-oriented programming
| [[imperative programming]], [[object-oriented]], aspect-oriented programming
| {{no}}
| {{no}}
| strong
| strong
Line 196: Line 196:
| dynamic
| dynamic
| Application
| Application
| JVM compatibility
| [[JVM]] compatibility
|-
|-
! [[Haskell]]
! [[Haskell]]
| functional programming, generic programming, lazy evaluation
| [[functional programming]], generic programming, lazy evaluation
| {{no}}
| {{no}}
| strong
| strong
Line 210: Line 210:
|-
|-
! [[J]]
! [[J]]
| array programming, function-level programming, tacit programming
| [[array]] programming, function-level programming, tacit programming
| {{no}}
| {{no}}
| strong
| strong
Line 221: Line 221:
|-
|-
! [[Java]]
! [[Java]]
| imperative programming, object-oriented, generic programming, reflective programming
| [[imperative programming]], [[object-oriented]], generic programming, reflective programming
| {{no}}
| {{no}}
| strong
| strong
Line 232: Line 232:
|-
|-
! [[JavaScript]]
! [[JavaScript]]
| imperative programming, object-oriented, functional programming, reflective programming
| [[imperative programming]], [[object-oriented]], [[functional programming]], reflective programming
| {{yes}}
| {{yes}}
| weak
| weak
Line 243: Line 243:
|-
|-
! [[Joy]]
! [[Joy]]
| functional programming, stack-oriented
| [[functional programming]], stack-oriented
| {{no}}
| {{no}}
| strong
| strong
Line 250: Line 250:
|
|
| dynamic
| dynamic
| Functional programming research
| [[functional programming]] research
| [[concatenative]]
| Concatenative
|-
|-
! [[Lisp]]
! [[Lisp]]
| functional programming, reflective; others vary by dialect
| [[functional programming]], reflective; others vary by dialect
| {{no}}
| {{no}}
| strong
| strong
Line 265: Line 265:
|-
|-
! [[Lua]]
! [[Lua]]
| procedural programming, imperative programming, reflective
| [[procedural programming]], [[imperative programming]], reflective
| {{no}}
| {{no}}
| strong
| strong
Line 276: Line 276:
|-
|-
! [[Mathematica]]
! [[Mathematica]]
| functional programming, procedural programming
| [[functional programming]], [[procedural programming]]
| {{no}}
| {{no}}
| strong
| strong
Line 287: Line 287:
|-
|-
! [[Object Pascal]] ([[Delphi]])
! [[Object Pascal]] ([[Delphi]])
| imperative programming, object-oriented, generic programming
| [[imperative programming]], [[object-oriented]], generic programming
| {{no}}
| {{no}}
| strong
| strong
Line 298: Line 298:
|-
|-
! [[Objective-C]]
! [[Objective-C]]
| imperative programming, object-oriented, reflective programming
| [[imperative programming]], [[object-oriented]], reflective programming
| {{yes}}
| {{yes}}
| weak
| weak
Line 309: Line 309:
|-
|-
! [[Ocaml]]
! [[Ocaml]]
| object-oriented, functional programming, imperative programming, generic programming
| [[object-oriented]], [[functional programming]], [[imperative programming]], generic programming
| {{no}}
| {{no}}
| strong
| strong
Line 320: Line 320:
|-
|-
! [[Oz]]
! [[Oz]]
| logic programming, functional programming, imperative programming, object-oriented, concurrent programming - multi paradigm
| logic programming, [[functional programming]], [[imperative programming]], [[object-oriented]], concurrent programming - multi paradigm
| {{no}}
| {{no}}
|
|
Line 331: Line 331:
|-
|-
! [[Pascal]]
! [[Pascal]]
| imperative programming, procedural programming
| [[imperative programming]], [[procedural programming]]
| {{yes}}
| {{yes}}
| strong
| strong
Line 342: Line 342:
|-
|-
! [[Perl]]
! [[Perl]]
| imperative programming, procedural programming, reflective programming, functional programming, object-oriented, generic programming
| [[imperative programming]], [[procedural programming]], reflective programming, [[functional programming]], [[object-oriented]], generic programming
| {{no}}
| {{no}}
| weak
| weak
Line 353: Line 353:
|-
|-
! [[PHP]]
! [[PHP]]
| imperative programming, object-oriented, reflective programming
| [[imperative programming]], [[object-oriented]], reflective programming
| {{no}}
| {{no}}
| weak
| weak
Line 372: Line 372:
| dynamic
| dynamic
| Problem solving, Artificial intelligence
| Problem solving, Artificial intelligence
| Declarative programming
| [[declarative programming]]
|-
|-
! [[Python]]
! [[Python]]
| imperative programming, object-oriented, functional programming, aspect-oriented programming, reflective programming
| [[imperative programming]], [[object-oriented]], [[functional programming]], aspect-oriented programming, reflective programming
| {{no}}
| {{no}}
| strong
| strong
Line 386: Line 386:
|-
|-
! [[Ruby]]
! [[Ruby]]
| imperative programming, object-oriented, aspect-oriented programming, reflective programming
| [[imperative programming]], [[object-oriented]], aspect-oriented programming, reflective programming
| {{no}}
| {{no}}
| strong
| strong
Line 397: Line 397:
|-
|-
! [[Scala]]
! [[Scala]]
| object-oriented, functional programming, generic programming
| [[object-oriented]], [[functional programming]], generic programming
| {{no}}
| {{no}}
| strong
| strong
Line 408: Line 408:
|-
|-
! [[Scheme]]
! [[Scheme]]
| functional programming
| [[functional programming]]
| {{yes}}
| {{yes}}
| strong
| strong
Line 419: Line 419:
|-
|-
! [[Smalltalk]]
! [[Smalltalk]]
| object-oriented, concurrent programming, event-driven programming, imperative programming, declarative programming
| [[object-oriented]], concurrent programming, event-driven programming, [[imperative programming]], [[declarative programming]]
| {{yes}}, ANSI
| {{yes}}, [[ANSI]]
| strong
| strong
| safe
| safe
Line 430: Line 430:
|-
|-
! [[Tcl]]
! [[Tcl]]
| imperative programming, procedural programming, event-driven programming
| [[imperative programming]], [[procedural programming]], event-driven programming
| {{no}}
| {{no}}
|
|
Line 452: Line 452:
|-
|-
! [[Visual Basic .NET]]
! [[Visual Basic .NET]]
| object-oriented, event-driven programming
| [[object-oriented]], event-driven programming
| {{no}}
| {{no}}
| strong
| strong
Line 463: Line 463:
|-
|-
! [[Windows PowerShell]]
! [[Windows PowerShell]]
| imperative programming, object-oriented, functional programming, pipeline programming, reflective programming
| [[imperative programming]], [[object-oriented]], [[functional programming]], pipeline programming, reflective programming
| {{no}}
| {{no}}
| strong
| strong
Line 473: Line 473:
|
|
|-class="sortbottom"
|-class="sortbottom"
! [[Programming Language|Language]]
! Language
! Paradigm(s)
! Paradigm(s)
! Standarized
! Standarized
! Type strength
! [[Type strength]]
! Type safety
! [[Type safety]]
! Expression of types
! Expression of types
! Type Compatability
! Type Compatability