Strong typing
<programming> Strict enforcement of
type rules with no exceptions.
Incorrect type usage can be detected either at
run time or at compile time.
Strong typing catches more type errors than
weak typing, resulting in fewer hard errors.
In a strongly typed language, conversion between types requires the use of explicit conversion functions as opposed to implicit type coercion.
Typing strength is a continuum;
ML is more strongly typed than
Java, which is more strongly typed than
C.
Strong or weak typing is independent of the choice between
static typing and
dynamic typing.
Among strongly typed languages,
Ada,
Java,
Haskell and
ML are statically typed, whereas
Python and
Ruby are dynamically typed.