Also known as dynamic typing. The idea that values, rather than variables, has a type. This entails a run-time penalty.

Languages using weak typing include Scheme and Perl, while Pascal and Ada are strongly typed.

The difference is becoming a bit blurred. While Java nominally is strongly typed, you can get many of the properties of weak typing by passing around Object references.