Comparison of Programming Languages
From Unify Community Wiki
(Difference between revisions)
(added Categories) |
(→Features: Added wikitable formatting.) |
||
Line 22: | Line 22: | ||
<!-- This table would be tons easier to read if we had tables styles with cell borders and header cell support. --> | <!-- This table would be tons easier to read if we had tables styles with cell borders and header cell support. --> | ||
− | {| | + | {| {{wikitable}} |
|- | |- | ||
− | ! Language | + | ! {{wikitable-th}} Language |
− | ! [http://en.wikipedia.org/wiki/Boo_(programming_language) Boo] | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Boo_(programming_language) Boo] |
− | ! [http://en.wikipedia.org/wiki/C_Sharp_(programming_language) C#] | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/C_Sharp_(programming_language) C#] |
− | ! UnityScript/[http://en.wikipedia.org/wiki/JavaScript JavaScript] | + | ! {{wikitable-th}} UnityScript/[http://en.wikipedia.org/wiki/JavaScript JavaScript] |
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Programming_paradigm Paradigm](s) | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Programming_paradigm Paradigm](s) |
− | | | + | | {{wikitable-td}} |
* [http://en.wikipedia.org/wiki/Object-oriented_programming object-oriented] | * [http://en.wikipedia.org/wiki/Object-oriented_programming object-oriented] | ||
* ? | * ? | ||
− | | | + | | {{wikitable-td}} |
* [http://en.wikipedia.org/wiki/Imperative_programming imperative] | * [http://en.wikipedia.org/wiki/Imperative_programming imperative] | ||
* [http://en.wikipedia.org/wiki/Object-oriented_programming object-oriented] | * [http://en.wikipedia.org/wiki/Object-oriented_programming object-oriented] | ||
Line 39: | Line 39: | ||
* [http://en.wikipedia.org/wiki/Generic_programming generic] | * [http://en.wikipedia.org/wiki/Generic_programming generic] | ||
* [http://en.wikipedia.org/wiki/Reflective_programming reflective] | * [http://en.wikipedia.org/wiki/Reflective_programming reflective] | ||
− | | | + | | {{wikitable-td}} |
* [http://en.wikipedia.org/wiki/Imperative_programming imperative] | * [http://en.wikipedia.org/wiki/Imperative_programming imperative] | ||
* [http://en.wikipedia.org/wiki/Object-oriented_programming object-oriented] | * [http://en.wikipedia.org/wiki/Object-oriented_programming object-oriented] | ||
Line 45: | Line 45: | ||
* [http://en.wikipedia.org/wiki/Reflective_programming reflective] | * [http://en.wikipedia.org/wiki/Reflective_programming reflective] | ||
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Standardization Standardized] Variation? | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Standardization Standardized] Variation? |
− | | {{yes}} | + | | {{wikitable-yes}} |
− | | {{yes}}, ECMA, ISO ECMA-334; ISO/IEC 23270:2006 | + | | {{wikitable-yes}}, ECMA, ISO ECMA-334; ISO/IEC 23270:2006 |
− | | {{no}} | + | | {{wikitable-no}} |
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Strongly-typed_programming_language Type Strength] | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Strongly-typed_programming_language Type Strength] |
− | | strong | + | | {{wikitable-td}} strong |
− | | strong | + | | {{wikitable-td}} strong |
− | | weak | + | | {{wikitable-td}} weak |
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Type_safety Type Safety] | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Type_safety Type Safety] |
− | | safe | + | | {{wikitable-td}} safe |
− | | safe | + | | {{wikitable-td}} safe |
− | | | + | | {{wikitable-td}} |
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Type_system#Explicit_or_implicit_declaration_and_inference Expression of Types] | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Type_system#Explicit_or_implicit_declaration_and_inference Expression of Types] |
− | | implicit with optional explicit typing | + | | {{wikitable-td}} implicit with optional explicit typing |
− | | explicit | + | | {{wikitable-td}} explicit |
− | | implicit | + | | {{wikitable-td}} implicit |
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Type_system#Compatibility:_equivalence_and_subtyping Compatibility Among Composite Types] | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Type_system#Compatibility:_equivalence_and_subtyping Compatibility Among Composite Types] |
− | | | + | | {{wikitable-td}} |
− | | name-based | + | | {{wikitable-td}} name-based |
− | | | + | | {{wikitable-td}} |
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Type_system#Type_checking Type Checking] | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Type_system#Type_checking Type Checking] |
− | | static with optional dynamic typing | + | | {{wikitable-td}} static with optional dynamic typing |
− | | static with optional dynamic typing | + | | {{wikitable-td}} static with optional dynamic typing |
− | | dynamic with optional static typing | + | | {{wikitable-td}} dynamic with optional static typing |
− | |} | + | | {{wikitable-td}} |
+ | } | ||
== Type Identifiers == | == Type Identifiers == |
Revision as of 05:21, 6 August 2009
This is a comparison of the features and instructions of the three high-level programming languages offered by Unity: JavaScript, C#, and Boo.
Contents |
Conventions of This Article
The bold is the literal code. The non-bold is interpreted by the reader. Statements in guillemets (« … ») are optional. tab indicates a necessary indent.
The following tables compare code differences of the Unity programming languages. See also the Comparison of Programming Languages for general information.
Features
The following tables compares major features of the Unity programming languages.
Language | Boo | C# | UnityScript/JavaScript | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paradigm(s) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Standardized Variation? | Yes | Yes, ECMA, ISO ECMA-334; ISO/IEC 23270:2006 | No | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Type Strength | strong | strong | weak | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Type Safety | safe | safe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Expression of Types | implicit with optional explicit typing | explicit | implicit | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Compatibility Among Composite Types | name-based | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Type Checking | static with optional dynamic typing | static with optional dynamic typing | dynamic with optional static typing |
} Type IdentifiersInteger
Floating Point
Other Types
Derived TypesArray
Other Types
Basic Unity-Specific Types
Declarations
Flow ControlConditional Statements
Loop Statements
Exceptions
Other Flow Control Statements
Functions
Type Conversions
|