Comparison of Programming Languages
From Unify Community Wiki
(Difference between revisions)
(→Features: Added wikitable formatting.) |
(Added wikitable formatting.) |
||
Line 46: | Line 46: | ||
|- | |- | ||
! {{wikitable-th}} [http://en.wikipedia.org/wiki/Standardization Standardized] Variation? | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Standardization Standardized] Variation? | ||
− | | {{wikitable-yes}} | + | | {{wikitable-td}} {{wikitable-yes}} |
− | | {{wikitable-yes}}, ECMA, ISO ECMA-334; ISO/IEC 23270:2006 | + | | {{wikitable-td}} {{wikitable-yes}}, ECMA, ISO ECMA-334; ISO/IEC 23270:2006 |
− | | {{wikitable-no}} | + | | {{wikitable-td}} {{wikitable-no}} |
|- | |- | ||
! {{wikitable-th}} [http://en.wikipedia.org/wiki/Strongly-typed_programming_language Type Strength] | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Strongly-typed_programming_language Type Strength] | ||
Line 74: | Line 74: | ||
| {{wikitable-td}} static with optional dynamic typing | | {{wikitable-td}} static with optional dynamic typing | ||
| {{wikitable-td}} dynamic with optional static typing | | {{wikitable-td}} dynamic with optional static typing | ||
− | | | + | |} |
− | } | + | |
== Type Identifiers == | == Type Identifiers == | ||
Line 83: | Line 82: | ||
<!-- 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] |
|- | |- | ||
− | ! 8 bit ([http://en.wikipedia.org/wiki/Byte byte]) Signed | + | ! {{wikitable-th}} 8 bit ([http://en.wikipedia.org/wiki/Byte byte]) Signed |
− | | | + | | {{wikitable-td}} |
− | | sbyte | + | | {{wikitable-td}} sbyte |
− | | {{n/a}} | + | | {{wikitable-n/a}} |
|- | |- | ||
− | ! 8 bit ([http://en.wikipedia.org/wiki/Byte byte]) Unsigned | + | ! {{wikitable-th}} 8 bit ([http://en.wikipedia.org/wiki/Byte byte]) Unsigned |
− | | byte | + | | {{wikitable-td}} byte |
− | | byte | + | | {{wikitable-td}} byte |
− | | {{n/a}} | + | | {{wikitable-n/a}} |
|- | |- | ||
− | ! 16 bit ([http://en.wikipedia.org/wiki/Short_integer short integer]) Signed | + | ! {{wikitable-th}} 16 bit ([http://en.wikipedia.org/wiki/Short_integer short integer]) Signed |
− | | short | + | | {{wikitable-td}} short |
− | | short | + | | {{wikitable-td}} short |
− | | {{n/a}} | + | | {{wikitable-n/a}} |
|- | |- | ||
− | ! 16 bit ([http://en.wikipedia.org/wiki/Short_integer short integer]) Unsigned | + | ! {{wikitable-th}} 16 bit ([http://en.wikipedia.org/wiki/Short_integer short integer]) Unsigned |
− | | | + | | {{wikitable-td}} |
− | | ushort | + | | {{wikitable-td}} ushort |
− | | {{n/a}} | + | | {{wikitable-n/a}} |
|- | |- | ||
− | ! 32 bit Signed | + | ! {{wikitable-th}} 32 bit Signed |
− | | int | + | | {{wikitable-td}} int |
− | | int | + | | {{wikitable-td}} int |
− | | {{n/a}} | + | | {{wikitable-n/a}} |
|- | |- | ||
− | ! 32 bit Unsigned | + | ! {{wikitable-th}} 32 bit Unsigned |
− | | | + | | {{wikitable-td}} |
− | | uint | + | | {{wikitable-td}} uint |
− | | {{n/a}} | + | | {{wikitable-n/a}} |
|- | |- | ||
− | ! 64 bit ([http://en.wikipedia.org/wiki/Long_integer long integer]) Signed | + | ! {{wikitable-th}} 64 bit ([http://en.wikipedia.org/wiki/Long_integer long integer]) Signed |
− | | long | + | | {{wikitable-td}} long |
− | | long | + | | {{wikitable-td}} long |
− | | {{n/a}} | + | | {{wikitable-n/a}} |
|- | |- | ||
− | ! 64 bit [http://en.wikipedia.org/wiki/Long_integer long integer]) Unsigned | + | ! {{wikitable-th}} 64 bit [http://en.wikipedia.org/wiki/Long_integer long integer]) Unsigned |
− | | | + | | {{wikitable-td}} |
− | | ulong | + | | {{wikitable-td}} ulong |
− | | {{n/a}} | + | | {{wikitable-n/a}} |
|} | |} | ||
Line 134: | Line 133: | ||
<!-- 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/Single_precision Single Precision] | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Single_precision Single Precision] |
− | | single | + | | {{wikitable-td}} single |
− | | float | + | | {{wikitable-td}} float |
− | | {{n/a}} | + | | {{wikitable-n/a}} |
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Double_precision Double Precision] | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Double_precision Double Precision] |
− | | double | + | | {{wikitable-td}} double |
− | | double | + | | {{wikitable-td}} double |
− | | Number | + | | {{wikitable-td}} Number |
|- | |- | ||
− | ! Arbitrarily Precise ([http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic bignum]) | + | ! {{wikitable-th}} Arbitrarily Precise ([http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic bignum]) |
− | | decimal | + | | {{wikitable-td}} decimal |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
|} | |} | ||
Line 161: | Line 160: | ||
<!-- 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] |
|- | |- | ||
− | ! Text [http://en.wikipedia.org/wiki/Character_(computing) Character] | + | ! {{wikitable-th}} Text [http://en.wikipedia.org/wiki/Character_(computing) Character] |
− | | {{n/a}} | + | | {{wikitable-n/a}} |
− | | char | + | | {{wikitable-td}} char |
− | | {{n/a}} | + | | {{wikitable-n/a}} |
|- | |- | ||
− | ! Text [http://en.wikipedia.org/wiki/String_(computer_science) String] | + | ! {{wikitable-th}} Text [http://en.wikipedia.org/wiki/String_(computer_science) String] |
− | | string | + | | {{wikitable-td}} string |
− | | string | + | | {{wikitable-td}} string |
− | | String | + | | {{wikitable-td}} String |
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Boolean_datatype Boolean]) | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Boolean_datatype Boolean]) |
− | | bool | + | | {{wikitable-td}} bool |
− | | bool | + | | {{wikitable-td}} bool |
− | | Boolean | + | | {{wikitable-td}} Boolean |
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Object_(computer_science) Object]/[http://en.wikipedia.org/wiki/Universal_type Universal]) | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Object_(computer_science) Object]/[http://en.wikipedia.org/wiki/Universal_type Universal]) |
− | | object | + | | {{wikitable-td}} object |
− | | object | + | | {{wikitable-td}} object |
− | | Object | + | | {{wikitable-td}} Object |
|} | |} | ||
Line 196: | Line 195: | ||
<!-- 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] |
|- | |- | ||
− | ! one-dimensional fixed size array | + | ! {{wikitable-th}} one-dimensional fixed size array |
− | | '''('''type''')''' | + | | {{wikitable-td}} '''('''type''')''' |
− | | type'''['''size''']''' | + | | {{wikitable-td}} type'''['''size''']''' |
− | | type'''[]''' | + | | {{wikitable-td}} type'''[]''' |
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Array#Multi-dimensional_array multi-dimensional] fixed size array | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Array#Multi-dimensional_array multi-dimensional] fixed size array |
− | | | + | | {{wikitable-td}} |
− | | type'''['''size<sub>1</sub>''', '''size<sub>2</sub>''','''...''']''' | + | | {{wikitable-td}} type'''['''size<sub>1</sub>''', '''size<sub>2</sub>''','''...''']''' |
− | | | + | | {{wikitable-td}} |
|- | |- | ||
− | ! one-dimensional dynamic size array | + | ! {{wikitable-th}} one-dimensional dynamic size array |
− | | List | + | | {{wikitable-td}} List |
− | | '''System.Collections.ArrayList'''<br/>or<br/>'''System.Collections.Generic.List<'''type'''>''' | + | | {{wikitable-td}} '''System.Collections.ArrayList'''<br/>or<br/>'''System.Collections.Generic.List<'''type'''>''' |
− | | Array | + | | {{wikitable-td}} Array |
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Array#Multi-dimensional_array multi-dimensional] dynamic size array | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Array#Multi-dimensional_array multi-dimensional] dynamic size array |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
|} | |} | ||
Line 228: | Line 227: | ||
<!-- 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/Record_(computer_science) Record] Simple Composite Types | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Record_(computer_science) Record] Simple Composite Types |
− | | | + | | {{wikitable-td}} |
− | | '''struct''' name '''{'''type name''';'''...'''}''' | + | | {{wikitable-td}} '''struct''' name '''{'''type name''';'''...'''}''' |
− | | | + | | {{wikitable-td}} |
|- | |- | ||
− | ! [http://en.wikipedia.org/wiki/Enumerated_type Enumeration] Simple Composite Types | + | ! {{wikitable-th}} [http://en.wikipedia.org/wiki/Enumerated_type Enumeration] Simple Composite Types |
− | | | + | | {{wikitable-td}} |
'''enum''' condition''':'''<br/> | '''enum''' condition''':'''<br/> | ||
{{keypress|tab}} '''item<sub>1</sub>'''<br/> | {{keypress|tab}} '''item<sub>1</sub>'''<br/> | ||
{{keypress|tab}} «'''item<sub>2</sub>'''<br/> | {{keypress|tab}} «'''item<sub>2</sub>'''<br/> | ||
{{keypress|tab}} …»<br/> | {{keypress|tab}} …»<br/> | ||
− | | | + | | {{wikitable-td}} |
|} | |} | ||
Line 252: | Line 251: | ||
<!-- 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] |
|- | |- | ||
− | ! | + | ! {{wikitable-th}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
|} | |} | ||
Line 269: | Line 268: | ||
<!-- 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] |
|- | |- | ||
− | ! | + | ! {{wikitable-th}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
|} | |} | ||
Line 288: | Line 287: | ||
<!-- 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] |
|- | |- | ||
− | ! | + | ! {{wikitable-th}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
|} | |} | ||
Line 305: | Line 304: | ||
<!-- 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] |
|- | |- | ||
− | ! | + | ! {{wikitable-th}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
|} | |} | ||
Line 322: | Line 321: | ||
<!-- 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] |
|- | |- | ||
− | ! | + | ! {{wikitable-th}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
|} | |} | ||
Line 339: | Line 338: | ||
<!-- 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] |
|- | |- | ||
− | ! | + | ! {{wikitable-th}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
|} | |} | ||
Line 356: | Line 355: | ||
<!-- 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] |
|- | |- | ||
− | ! | + | ! {{wikitable-th}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
|} | |} | ||
Line 373: | Line 372: | ||
<!-- 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] |
|- | |- | ||
− | ! | + | ! {{wikitable-th}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
− | | | + | | {{wikitable-td}} |
|} | |} | ||
Revision as of 05:27, 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? | style="border: 1px #aaa solid; padding: 0.2em; background:#90ff90; color:black;" class="wikitable-yes" | Yes | style="border: 1px #aaa solid; padding: 0.2em; background:#90ff90; color:black;" class="wikitable-yes" | Yes, ECMA, ISO ECMA-334; ISO/IEC 23270:2006 | style="border: 1px #aaa solid; padding: 0.2em; background:#ff9090; color:black;" class="wikitable-no" | 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 |
---|---|---|---|