Later he gives the following chart
|Statically checked | Dynamically checked
-------------------------------------------------
safe | ML, Haskell, Java, etc. | Lisp, Scheme, Perl, Postscript, etc
unsafe | C, C++, etc. |
But this chart is not expressive enough... I believe that the properties implied by "weak/strong" refer to the ability (or the disability) of the compiler/runtime (or rather semantics of the language) to change types at will (actually, whenever this seems useful, in cases such as "string" + 7 or "9" - "3").
This category would include C and C++ (implicit conversions of numbers) and certainly dynamically checked languages such as php, javascript, (probably also) Ruby, Python, ...
I believe that these languages need to be distinguished.
- Tom