News for hackers. Stuff that matters.
Re:Is the development of automated tests a waste of time for... by SwellJoe on Thursday June 14, 2007 @05:00AM (#28041)
"How is it not related to the compile-time name resolution and type checking?"

Please re-read, carefully. I said that compiled and strongly typed are two orthogonal language characteristics, and that each of those characteristics solves one set of problems (while introducing some of its own).

I specifically said exactly what you've said about compiled languages identifying missing methods. But it's not because it is a strongly typed language, it's because it is compiled.

What's so bad about having a little clarity in our use of terms and concepts?

Re:Is the development of automated tests a waste of time for... by machine on Thursday June 14, 2007 @01:54PM (#28149)
A bit of semantics: what we are talking about here is the difference between statically typed and dynamically typed languages, not strongly and weakly typed. Python is strongly dynamically typed. Java is strongly statically typed. C is (arguably) weakly statically typed (because it let's you treat anything as anything through casts, void pointers, etc).

The point jey was trying to make is that only languages that are both statically typed and compiled can catch missing methods. Consider for example a piece of code:

a.doB();

If the language is not statically typed, then the compiler does not know the type of "a" at compile time, and therefore doesn't know what class to check for method "doB". This is why even if you were to compile python you would still end up getting missing method error messages occasionally.