weak typing

from The Free On-line Dictionary of Computing (8 July 2008)
weak typing
weakly typed

   <programming> Strict enforcement of {type} rules but with
   well-defined exceptions or an explicit type-violation
   mechanism.

   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 {coerce}
   many types e.g. {ints} and {floats}.  E.g.

    int a = 5;
    float b = a;

   They also allow ignore {typedefs} for the purposes of type
   comparison; for example the following is allowed, which would
   probably 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++ */

   (2000-07-04)
    

[email protected]