C. It's statically and weakly typed. The weak part comes from the fact that you can convert from one type to another with no problem. If you only have one type, it cannot be converted to another type, and is thus a strongly typed system. Personally, I think the static/dynamic difference is a bunch of crap. Every language has a set of static types. The big problem is that people think that strings and numbers are necessarily different types when languages like Perl obviously demonstrate that they're not.