3 ms·
I agree that it's a good article. Its primary point, that "type" doesn't mean the same thing in "statically typed" and "dynamically typed", is well put. The mod
by gruseom 17y ago
I agree that it's a good article. Its primary point, that "type" doesn't mean the same thing in "statically typed" and "dynamically typed", is well put. The model he presents of static typing taking a proof-based approach to correctness while dynamic typing takes a test-based approach is also interesting.
It's quite wrong, though, to say that the modern unit testing school (i.e. xUnit and TDD) is a creature of the dynamically typed world. It is very much a creature of the Java world. It's true that the original xUnit was Smalltalk's, but that was a pale foreshadowing of Junit. And all the examples from Beck's TDD book were in Java. The most zealous unit-testers may be Rubyists, but their numbers are surely dwarfed by the number of people programming in that style in Java and .NET. I did so in C# for years myself.
Edit: he also is far too dismissive of the importance of performance. (Alex Payne's talk about choosing Scala is a nice counterexample since it was posted yesterday). I'm beginning to think the piece is less insightful than it first appears.
- gnaritas 17y ago> And all the examples from Beck's TDD book were in Java. One has to make a living. > but their numbers are surely dwarfed by the number of people programming in that style in Java and .NET. Doubtful. To quote Kent himself, "Even allowing for my marketing and sales mistakes, the data suggests that there are at most a few thousand Java programmers actively practicing TDD." Which is why he stopped developing jUnitMax http://www.threeriversinstitute.org/blog/?p=291 http://www.threeriversinstitute.org/blog/?p=291 Java just doesn't have a TDD culture, nor does C# really.
- gruseom 17y agoYour two points are contradictory. It's true that I'm guessing at the numbers. (Who isn't? The post you reference doesn't include any data.) But that doesn't affect the point that the OP is obviously wrong to say "the whole unit testing movement basically came out of dynamically typed languages".
- silentbicycle 17y agoThe points aren't necessarily contradictory. There are probably tons of programmers who buy books about various fashionable methodologies but don't continue using them in the long run. Writing the examples in Java would make sense as a lingua franca, even if he didn't believe that TDD would be adopted by the Java community.
- gnaritas 17y agoI think he initially did believe the community would pick up TDD, clearly he changed his mind.
- gnaritas 17y agoNot contradictory at all, many programmers consult in Java because there's lots of work in big business using Java. However, that doesn't mean the attempt to bring the TDD culture to Java will necessarily work. Java consulting might pay the bills but it became clear that jUnitMax couldn't, wrong culture.