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 tHanweak 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 tHanJava, which is more strongly typed tHanC. 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. (2004-07-20)