Sandbox: Difference between revisions

Content added Content deleted
m (This pages doesn't need to be in the implementations category)
m (Not sure where this should go...)
Line 1: Line 1:
{|class="wikitable sortable"
! 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 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}}, 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
|
|
|-class="sortbottom"
! Language
! Paradigm(s)
! Standarized
! Type strength
! Type safety
! Expression of types
! Type Compatability
! Type checking
! Intended use
! Design goals
|}
{{usertop}}
{{usertop}}
|-
|-