Next | Twelve Talks in One | 45 |
I discovered at least 8 different definitions of 'stongly typed language':
A language is strongly typed if type annotations are associated with variable names, rather than with values. If types are attached to values, it is weakly typed.
A language is strongly typed if it contains compile-time checks for type constraint violations. If checking is deferred to run time, it is weakly typed.
A language is strongly typed if it contains compile or run-time checks for type constraint violations. If no checking is done, it is weakly typed.
A language is strongly typed if conversions between different types are forbidden. If such conversions are allowed, it is weakly typed.
A language is strongly typed if conversions between different types must be indicated explicitly. If implicit conversions are performed, it is weakly typed.
A language is strongly typed if there is no language-level way to disable or evade the type system. If there are casts or other type-evasive mechansisms, it is weakly typed.
A language is strongly typed if it has a complex, fine-grained type system with compound types. If it has only a few types, or only scalar types, it is weakly typed.
A language is strongly typed if the type of its data objects is fixed and does not vary over the lifetime of the object. If the type of a datum can change, the language is weakly typed.
More Details | Copyright © 2003 M. J. Dominus |