Sandbox: Difference between revisions

From Rosetta Code
Content added Content deleted
m (Another link, spellcheck)
(removed tabel, added temporary link to the new page)
Line 1: Line 1:
Language comparison table now found [[Language Comparison Table|here]].
{|class="wikitable sortable"
! [[Programming Language|Language]]
! Paradigm(s)
! Standardized
! [[Type strength]]
! [[Type safety]]
! Expression of types
! [[Type compatibility]]
! Type checking
! Intended use
! Design goals
|-
! [[ActionScript]]
| [[imperative programming]], [[object-oriented]], [[event-driven programming]]
| {{yes}}, [[ECMA]]
| strong
| safe
|
|
| static
| Web design
|
|-
! [[Ada]]
| [[concurrent programming|concurrent]], distributed programming, [[generic programming]], [[imperative programming]], [[object-oriented]]
| {{yes}}, [[ANSI]], [[ISO]]
| strong
| safe
| explicit
| nominative
| static
| Embedded, Real-time applications
| Reliability
|-
! [[ALGOL 68]]
| [[concurrent programming|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 sharp|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}}, [http://www.ecma-international.org/publications/standards/Ecma-367.htm ECMA-367], [http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=42924 ISO/IEC 25436:2006]
| strong
| safe
|
| nominative
| static
| Application
| Correctness, Efficiency, Design by contract
|-
! [[Erlang]]
| [[functional programming]], [[concurrent 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 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
|
|
|-class="sortbottom"
! [[Programming Language|Language]]
! Paradigm(s)
! Standardized
! [[Type strength]]
! [[Type safety]]
! Expression of types
! [[Type compatibility]]
! Type checking
! Intended use
! Design goals
|}

Revision as of 20:09, 19 July 2008

Language comparison table now found here.