Sandbox
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, distributed programming, generic programming, imperative programming, object-oriented | Yes | strong | safe | explicit | nominative | static | Embedded, Real-time applications | Reliability |
ALGOL 68 | concurrent, imperative programming | No | strong | safe | structural | static or dynamic | Application | Readability, Structure | |
BASIC | procedural programming | Yes | varies by dialect | Education | Simplicity | ||||
C | imperative programming | Yes | weak | unsafe | explicit | nominative | static | System | Low level access, Minimal constraint |
C# | imperative programming, object-oriented, generic programming, reflective programming | Yes | 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 | 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) | Standardized | Type strength | Type safety | Expression of types | Type compatibility | Type checking | Intended use | Design goals |