Type System: Dynamic / Static x Strong / Weak x Type Safety

Dynamically Type

A programming language is said to be dynamically typed when the majority of its type checking is performed at run-time as opposed to at compile-time. In dynamic typing values have types, but variables do not; that is, a variable can refer to a value of any type. This includes APLErlangGroovyJavaScriptLispLuaMATLAB/GNU OctavePerlPHPPick BASICPrologPythonRubySmalltalk and Tcl.

Statically Type

A programming language is said to use static typing when type checking is performed during compile-time as opposed to run-time. Statically typed languages include ActionScript 3, AdaCDEiffelF#Fortran,GoHaskellhaXeJADEJavaMLObjective-COCamlPascal, and Scala.

Strongly Type

A type system is said to feature strong typing when it specifies one or more restrictions on how operations involving values of different data types can be intermixed.

Weakly Type

Opposite to Strongly Type. Also defined as languages that support either implicit type conversion, ad-hoc polymorphism (also known as overloading) or both.

Type Safety

Type-safe code accesses only the memory locations it is authorized to access. (For this discussion, type safety specifically refers to memory type safety and should not be confused with type safety in a broader respect.) For example, type-safe code cannot read values from another object’s private fields.

Source: Wikipedia

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s