weak typing


weak typing

(programming)Strict enforcement of type rules but withwell-defined exceptions or an explicit type-violationmechanism.

Weak typing is "friendlier" to the programmer than strong typing, but catches fewer errors at compile time.

C and C++ are weakly typed, as they automatically coercemany types e.g. ints and floats. E.g.

int a = 5;float b = a;

They also allow ignore typedefs for the purposes of typecomparison; for example the following is allowed, which wouldprobably be disallowed in a strongly typed language:

typedef int Date; /* Type to represent a date */Date a = 12345;int b = a; /* What does the coder intend? */

C++ is stricter than C in its handling of enumerated types:

enum animal CAT=0,DOG=2,ANT=3;enum animal a = CAT; /* NB The enum is optional in C++ */enum animal b = 1; /* This is a warning or error in C++ */

weak typing

A programming language characteristic that allows different types of data to be moved freely among data structures, as is found in Smalltalk and other earlier object-oriented languages. Contrast with strong typing.