At 03:58 PM 1/30/00 -0500, Mark Guzdial wrote:
This was a great article -- thanks for posting it, Marcus! The authors did a VERY careful job with the experimental design and the evaluation. This is the first serious empirical effort I'd seen on measuring the value of types.
Unfortunately, a well-controlled experiment usually means a pretty narrow finding, and that seems to be the case here. The main finding here is that programmers who used a more strongly typed C (ANSI C) made fewer type errors when connecting with a library that had typed interfaces (Motif) than programmers using a less strongly typed C (K&R C). The point is well made and well supported, but it doesn't answer all of the typing issues. For example, it's not true that they made fewer overall errors -- there was no significant difference between the groups on severe errors that were not related to type.
It's also a different question than the one we've been talking about here. For myself, I have absolutely no doubt that enforced typing in ANSI C is an enormous improvement over K&R C's lack of typing. However, that doesn't necessarily imply that static typing of the form used in e.g. Java is an improvement over Smalltalk's dynamic typing, and in fact I don't believe that assertion. Nevertheless, it's nice to at least see a rigorous experiment, even if it's attempting to prove something different.
-- Alan Knight [|] knight@acm.org The Object People 613.225.8812(v) 613.225.5943(f)