Sandbox: Difference between revisions
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 |
||
| [[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]] |
||
|- |
|- |
||
! [[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 |
Revision as of 04:49, 15 July 2008
Language | Paradigm(s) | Standarized | Type strength | Type safety | Expression of types | Type Compatability | Type checking | Intended use | Design goals |
---|---|---|---|---|---|---|---|---|---|
ActionScript | imperative programming, object-oriented, event-driven programming | Yes
, ECMA |
strong | safe | static | Web design | |||
Ada | concurrent, distributed programming, generic programming, imperative programming, object-oriented | Yes
, ANSI, ISO |
strong | safe | explicit | nominative | static | Embedded, Realtime applications | Reliability |
ALGOL 68 | concurrent, imperative programming | No | strong | safe | structural | static or dynamic | Application | Readability, Structure | |
BASIC | procedural programming | Yes
, ANSI, ISO |
varies by dialect | Education | Simplicity | ||||
C | imperative programming | Yes
, ANSI C89, ISO C90/C99 |
weak | unsafe | explicit | nominative | static | System | Low level access, Minimal constraint |
C# | imperative programming, object-oriented, generic programming, reflective programming | Yes
, ECMA, ISO |
strong | safe (but unsafe allowed) | implicit | nominative | static | Application | Rapid application development |
C++ | imperative programming, object-oriented, generic programming | Yes
, ISO |
strong | safe (but unsafe allowed) | explicit, partially implicit | nominative, structural | static, dynamic | Application, System | Abstraction, Efficiency, Compatibility |
Clean | functional programming, generic programming | No | strong | implicit | static | General | Correctness, Modularity | ||
COBOL | imperative programming, object-oriented | Yes | strong | static | Business and Financial Applications | Readability | |||
ColdFusion | procedural programming, object-oriented | No | weak | implicit | dynamic | Web Development | Rapid Application Development, Ease of use | ||
Common Lisp | imperative programming, functional programming, object-oriented | Yes | strong | safe | dynamic | General | Standardize Lisp | ||
D | imperative programming, object-oriented, generic programming | No | strong | safe | explicit | static | Application, System | Compilability, Correctness, Efficiency | |
Eiffel | imperative programming, object-oriented, generic programming | Yes
, ECMA-367, ISO/IEC 25436:2006 |
strong | safe | nominative | static | Application | Correctness, Efficiency, Design by contract | |
Erlang | functional programming, concurrent, distributed programming | No | strong | dynamic | Telecom and distributed applications | Fault tolerance, Scalability | |||
Forth | imperative programming, stack-oriented | Yes
, ANSI |
none | n/a | n/a | n/a | n/a | Application, Embedded systems | Compact implementations |
Fortran | imperative programming, procedural programming, object-oriented | Yes | strong | safe | nominative | static | Scientific and numeric applications | Runtime efficiency, Simple syntax | |
Groovy | imperative programming, object-oriented, aspect-oriented programming | No | strong | safe | implicit | dynamic | Application | JVM compatibility | |
Haskell | functional programming, generic programming, lazy evaluation | No | strong | implicit | structural | static | Application | Lazy evaluation, Explicit side-effect | |
J | array programming, function-level programming, tacit programming | No | strong | safe | dynamic | Data processing | Terseness, Expressiveness, Powerful Data Manipulation | ||
Java | imperative programming, object-oriented, generic programming, reflective programming | No | strong | safe | explicit | nominative | static | Application | Write once run anywhere |
JavaScript | imperative programming, object-oriented, functional programming, reflective programming | Yes | weak | dynamic | Client side web scripting | ||||
Joy | functional programming, stack-oriented | No | strong | safe | dynamic | functional programming research | concatenative | ||
Lisp | functional programming, reflective; others vary by dialect | No | strong | dynamic | General | Simple notation for Lambda calculus, Homoiconicity | |||
Lua | procedural programming, imperative programming, reflective | No | strong | safe | implicit | dynamic | Host-driven Scripting | Small, embedded, configuration. | |
Mathematica | functional programming, procedural programming | No | strong | dynamic | Numeric computation and visualization | ||||
Object Pascal (Delphi) | imperative programming, object-oriented, generic programming | No | strong | safe (but unsafe allowed) | explicit | nominative | static | Application, System | Readability, Rapid application development, Modularity |
Objective-C | imperative programming, object-oriented, reflective programming | Yes | weak | explicit | static | Application | Smalltalk like, Component based code reuse, C compatibility | ||
Ocaml | object-oriented, functional programming, imperative programming, generic programming | No | strong | safe | implicit | structural | static | Application | Efficiency, Robustness, Correctness |
Oz | logic programming, functional programming, imperative programming, object-oriented, concurrent programming - multi paradigm | No | dynamic | Education | |||||
Pascal | imperative programming, procedural programming | Yes | strong | safe | explicit | static | Education | Readability, Discipline, Modularity | |
Perl | imperative programming, procedural programming, reflective programming, functional programming, object-oriented, generic programming | No | weak | implicit | dynamic | Text processing, Scripting | Terseness, Expressiveness | ||
PHP | imperative programming, object-oriented, reflective programming | No | weak | dynamic | Web Application, CLI | Robustness and Simplicity | |||
Prolog | logic programming | Yes
, ISO |
strong | dynamic | Problem solving, Artificial intelligence | declarative programming | |||
Python | imperative programming, object-oriented, functional programming, aspect-oriented programming, reflective programming | No | strong | safe | implicit | dynamic | Application, Education, Scripting | Simplicity, Readability, Expressiveness, Modularity | |
Ruby | imperative programming, object-oriented, aspect-oriented programming, reflective programming | No | strong | implicit | dynamic | Application, Scripting | Expressiveness, Readability | ||
Scala | object-oriented, functional programming, generic programming | No | strong | partially implicit | static | Education | |||
Scheme | functional programming | Yes | strong | dynamic (latent) | General, Education | Minimalistic, Lexical Scoping | |||
Smalltalk | object-oriented, concurrent programming, event-driven programming, imperative programming, declarative programming | Yes
, ANSI |
strong | safe | implicit | dynamic | Application, Education | Uniformity, Pure object oriented | |
Tcl | imperative programming, procedural programming, event-driven programming | No | dynamic | Application, Scripting | |||||
Visual Basic | component-oriented programming, event-driven programming | No | strong | safe | nominative | static | Application | Rapid application development, Simplicity | |
Visual Basic .NET | object-oriented, event-driven programming | No | strong | static | Application | Rapid application development, Simplicity | |||
Windows PowerShell | imperative programming, object-oriented, functional programming, pipeline programming, reflective programming | No | strong | safe | implicit | dynamic | |||
Language | Paradigm(s) | Standarized | Type strength | Type safety | Expression of types | Type Compatability | Type checking | Intended use | Design goals |
DIVBOX
DIVBOX DIVBOX DIVBOX DIVBOX |
DIVBOX
DIVBOX DIVBOX DIVBOX DIVBOX |
DIVBOX
DIVBOX DIVBOX DIVBOX DIVBOX |
DIVBOX
DIVBOX DIVBOX DIVBOX DIVBOX |
a
Math
Doesn't work ....
c
blah
''blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa this looks horrible aaaaaaaaaaaaaaaaaaaa we should fix this somehow aaaaaaaaaaaaaaaaaaaaaaaaah''
''blah''
#Python
<Python>
def avr24(data):
if len(data)==0: return 0 else: return sum(data)/float(len(data))
</Python>
XFeeds
<xfeeds contentcolour="#eeeeee" feedlimit="3" totallimit="10"> http://blog.rosettacode.org/?feed=rss2 http://blog.rosettacode.org/?feed=comments-rss2 </xfeeds>
Syntax highlighting
<c>#include <iostream>
- include <gmpxx.h>
mpf_class f(mpf_class x); double f(double x);
int main() {
unsigned int start = 1; unsigned int end = 1000; mpf_class sum = 0; double dsum = 0; for( unsigned int x = start; x <= end; ++x ) { sum += f(mpf_class(x)); dsum += f((double) x); } std::cout << "Sum of f(x) from " << start << " to " << end << " is " << sum << " (GMP float) or " << dsum << " (IEEE 64-bit float)" << std::endl; return 0;
}
mpf_class f(mpf_class x)
{
return ( 1 / ( x * x ) );
}
double f(double x) {
return ( 1 / ( x * x ) );
} </c>
Expression test
Currently there are 2,649 articles, but if someone added another, there would be 2650 articles. Totally, there are 20,468 pages, which means that 17819 pages are not articles.
Your Language Here
Testing a standard language solution header.
Your Language Here
Testing a standard language solution header with different display name.
colorForth
source colorForth code
26 →
170 ¬
224-234 αßΓπΣσµτΦΘΩ
236 ∞
241-243 ±≥≤
244 ⌠
245 ⌡
246 ÷
247 ≈
248 °
251 √
253 ²
<sub> normalsub
<sup> normalsup