Comparison of Programming Languages
From Unify Community Wiki
(Difference between revisions)
(merged in "Comparison of Basic Instructions of Programming Languages" article) |
m (→Features) |
||
Line 13: | Line 13: | ||
== Features == | == Features == | ||
− | The following tables compares features of the Unity programming languages. | + | The following tables compares major features of the Unity programming languages. |
<!-- 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. --> | ||
Line 69: | Line 69: | ||
| dynamic with optional static typing | | dynamic with optional static typing | ||
|} | |} | ||
− | |||
− | |||
== Type Identifiers == | == Type Identifiers == |
Revision as of 04:25, 4 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 Identifiers
Integer
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|
8 bit (byte) Signed | sbyte | N/A | |
8 bit (byte) Unsigned | byte | byte | N/A |
16 bit (short integer) Signed | short | short | N/A |
16 bit (short integer) Unsigned | ushort | N/A | |
32 bit Signed | int | int | N/A |
32 bit Unsigned | uint | N/A | |
64 bit (long integer) Signed | long | long | N/A |
64 bit long integer) Unsigned | ulong | N/A |
Floating Point
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|
Single Precision | single | float | N/A |
Double Precision | double | double | Number |
Arbitrarily Precise (bignum) | decimal |
Other Types
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|
Text Character | N/A | char | N/A |
Text String | string | string | String |
Boolean) | bool | bool | Boolean |
Object/Universal) | object | object | Object |
Derived Types
Array
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|
one-dimensional fixed size array | (type) | type[size] | type[] |
multi-dimensional fixed size array | type[size1, size2,...] | ||
one-dimensional dynamic size array | List | System.Collections.ArrayList or System.Collections.Generic.List<type> |
Array |
multi-dimensional dynamic size array |
Other Types
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|
Record Simple Composite Types | struct name {type name;...} | ||
Enumeration Simple Composite Types |
enum condition: |
Basic Unity-Specific Types
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|
Declarations
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|
Flow Control
Conditional Statements
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|
Loop Statements
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|
Exceptions
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|
Other Flow Control Statements
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|
Functions
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|
Type Conversions
Language | Boo | C# | UnityScript/JavaScript |
---|---|---|---|