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.
| [reply] |
The weak part comes from the fact that you can convert from one type to another with no problem.
But I thought you were claiming that "Assignment is also polymorphic". Why doesn't that apply for C as well?
| [reply] |
Interesting argument. The difference is that I cannot reconsitute the original value to any degree. If I convert from a double to an int and back again, I still have the same value (albeit with rounding errors). Same thing between chars and longs, etc. With Perl, if I apply scalar context to an array, I cannot retrieve the original array in any way.
| [reply] |