Comparison of Programming Languages

From Unify Community Wiki
Revision as of 01:19, 3 August 2009 by Slippyd (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This is a comparison of the major features of the three high-level programming languages offered by Unity: JavaScript, C#, and Boo.


The following tables compares technical information, type systems, and failsafes of the Unity programming language. See also the Comparison of Basic Instructions of Programming Languages for more detailed information

Language Intended use Paradigm(s) Standardized?
ActionScript 3.0 Web, client-side imperative, object-oriented, event-driven Yes, ECMA
Ada Application, Embedded, System and Realtime imperative, procedural<ref>Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 6: Subprograms</ref>, concurrent<ref>Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 9: Tasks and Synchronization</ref>, distributed<ref>Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3 Annex E: Distributed Systems</ref>, generic<ref>Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 12: Generic Units</ref>, object-oriented<ref>Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, 3.9 Tagged Types and Type Extensions</ref> Yes, ANSI, ISO, GOST 27831-88 <ref></ref>
ALGOL 58 Application imperative No
ALGOL 60 Application imperative Yes, ISO<ref>ISO 1538:1984</ref>
ALGOL 68 Application imperative, concurrent Yes, GOST 27974-88<ref></ref>
APL Application, Data processing array-oriented, tacit Yes, ISO
Assembly language General No
AutoHotkey End User Programming imperative No
AutoIt Highly domain-specific, GUI automation(macros) imperative, procedural No
BASIC Application, Education imperative, procedural Yes, ANSI, ISO
BeanShell Application, Scripting imperative, object-oriented, functional, reflective In progress, JCP<ref>JSR 274</ref>
BLISS System procedural No
Boo Application No
C System <ref></ref> imperative, procedural Yes, ANSI C89, ISO C90/C99
C++ Application, System imperative, procedural, object-oriented, generic Yes, ISO
C# Application imperative, object-oriented, functional, generic, reflective Yes, ECMA, ISO<ref>ECMA-334; ISO/IEC 23270:2006</ref>
Clean General functional, generic No
Clojure General functional No
COBOL Application, Business imperative, object-oriented Yes
ColdFusion Web Development procedural, object-oriented No
Common Lisp General imperative, functional, object-oriented Yes
Curl imperative, event-driven, functional, object-oriented, generic, reflective No
D Application; System imperative, object-oriented, generic No
Dylan Application functional, object-oriented No
Eiffel Application imperative, object-oriented, generic Yes, ECMA, ISO<ref>ECMA-367; ISO/IEC 25436:2006</ref>
Erlang Application, Distributed and Telecom functional, concurrent, distributed No
Factor stack-oriented No
FP functional No
F# Application imperative, functional, object-oriented, generic No
Forth General imperative, stack-oriented Yes, ANSI
FORTRAN Application, scientific and engineering imperative, procedural, object-oriented Yes, ANSI 66, ANSI 77, MIL-STD-1753, ISO 90, ISO 95, ISO 2003
Game Maker Language Application, games imperative, object-oriented, event-driven No
GraphTalk logic-oriented, object-oriented No
Groovy Application, Web imperative, object-oriented, aspect-oriented No
Haskell Application functional, generic, lazy evaluation Yes, Haskell 98<ref>Template:Cite web Most Haskell implementations extend the Haskell 98 standard.</ref>
Io Application, Host-driven Scripting imperative, object-oriented No
J Data processing array-oriented, function-level, tacit No
JADE Application, Distributed imperative, object-oriented No
Java Application, Web imperative, object-oriented, generic, reflective No, Java Language Specification
JavaScript Web, client-side imperative, object-oriented, functional, reflective Yes, ECMA
Joy research functional, stack-oriented No
LabVIEW ("G") Application, industrial instrumentation and automation dataflow, visual No
Lua Embedded scripting; Application imperative, object-oriented, functional, aspect-oriented, reflective No<ref>Version releases are accompanied with a definitive Lua Reference Manual showing full syntax and semantics; a reference implementation, and a test suite. These are used to generate other Lua VM implementations and compilers such as Kahlua and LLVM-Lua.</ref>
Mathematica Highly domain-specific, Math procedural, functional No
MATLAB M-code Highly domain-specific, Math imperative, object-oriented No
Modula-2 Application, System imperative, generic Yes, ISO<ref>ISO/IEC 10514-1:1996</ref>
Modula-3 Application imperative, object-oriented, generic No
Mythryl Application, Scripting imperative, generic, functional No
Oberon Application, System imperative, object-oriented No
Objective-C Application imperative, object-oriented, reflective YesTemplate:Citation needed
Objective Caml Application imperative, object-oriented, functional, generic No
Object Pascal (Delphi) Application imperative, object-oriented, generic, event-driven No
Occam Parallel computations imperative, procedural, concurrent, process-oriented No
Oxygene Application imperative, object-oriented, generic No
Oz Education imperative, logic, functional, object-oriented, concurrent No
Pascal Application, Education imperative, procedural Yes, ISO<ref>ISO 7185</ref>
Pawn Embedded, Host-driven Scripting imperative No
Perl Application, Text processing, Scripting, Web imperative, procedural, reflective, functional, object-oriented, generic No
PHP Web, server-side imperative, procedural<ref>PHP Manual, Chapter 17. Functions</ref>, object-oriented<ref>PHP Manual, Chapter 19. Classes and Objects (PHP 5)</ref>, reflective No
PL/I Application, COBOL's and Fortran's original domain imperative, object-oriented Yes
Prolog Application, Artificial intelligence logic Yes, ISO
Python Application, Scripting, Web imperative, object-oriented, functional, aspect-oriented, reflective No<ref>Language changes are done using a formally documented procedure, starting with a Python Enhancement Proposal (PEP)s. Python version releases are accompanied with a Language Reference Manual showing syntax and semantics; a reference implementation, and test suite. These are used to generate other Python implementations such as Jython and IronPython.</ref>
REALbasic Application Template:Unk
REBOL Distributed computing imperative, object-oriented, functional, dialected No
RPG Application Template:Unk
Ruby Application, Scripting, Web imperative, object-oriented, aspect-oriented, reflective, functional No
S Application, Statistics imperative, procedural, functional, object-oriented No
S-Lang Application, Scripting, Numerical imperative, procedural No
Scala Application object-oriented, functional, generic No
Scheme General, Education functional Yes, R6RS
Simula General, Education imperative, object-oriented, event-driven, discrete event simulation, multi-threaded (quasi-parallel) program execution Yes
Smalltalk Application, Education imperative, object-oriented, concurrent, event-driven, declarative Yes, ANSI
SNOBOL Text processing Template:Unk
Standard ML Application imperative, functional, generic Yes, SML '97<ref></ref>
Tcl Application, Scripting imperative, procedural, event-driven No
Visual Basic Application, Education imperative, component-oriented, event-driven No
Visual Basic .NET Application, Education imperative, object-oriented, event-driven No
Visual Prolog Application imperative, declarative, logical, object-oriented, functional, event-driven No
Windows PowerShell Administration imperative, object-oriented, functional, pipeline, reflective No
XL imperative, concept programming, object-oriented No
Language Intended use Paradigm(s) Standardized?

Programming Index

Personal tools