Una introducción a los sistemas de tipado de los lenguajes de programación

Muy interesante el artículo que se publicó hace unos días en Smashing Magazine: An Introduction To Programming Type Systems.

El el artículo aparece la siguiente tabla resumen:

Weak with no typing Assembly languages don’t provide any way of specifying or checking types at all. Everything is just a number.
Weak static typing C lets you define object types as structures, but it doesn’t do much to enforce or remember them. C automatically convert between many types. C++ and Objective-C go further with the definitions but still don’t enforce the resulting types.
Strong static typing Java forces you to define all types and checks them with a virtual machine.
Strong dynamic typing Python, JavaScript and Ruby dynamically infer the types of objects, instead of forcing you to define them, and then enforce those types when the program runs in the interpreter. All dynamically typed languages need a strong typing system at runtime or else they won’t be able to resolve the object types.
Weak dynamic typing Dynamically inferred types don’t work in a weakly typed language because there aren’t any types to infer.