Ng> 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)