On Dec 12, 2005, at 12:15 PM, Konstantin Ignatyev wrote:
I guess the point is that statically typed language
allows getting rid of many tests because compiler can
do them.

Your point does not hit home with me or any of the skilled folks I've been around.

With dynamic access of any kind (Ruby, Java
reflection, etc) we have to write much more tests than
necessary.

I don't write tests in Ruby to assert my syntax, I write it to assert my business logic, just as I would in Java. No difference in testing strategy or quantity, other than the succinct expressiveness I get with Ruby.

Well, it is not the case: lets take CORBA or Hessian
protocol for communications; Java Web Start based
Swing client application for interactions; and vuala!
– highly responsive, 0 clients side management,
statically typed environment where we do not need to
write and run gazillions of tests to check for
assignments. Compiler does its job!

Statically typed, eh? Again, what about all that reflection going on? Let's take the most basic Java interfaces, List and Set. Are those statically typed? I can put any object type in them I want. Oh, generics you say. I've read a detailed analysis that generics don't save the day with this either.

Either way, Java is much more "dynamic" than folks give it credit for. Again, a compiler is not checking that your Tapestry HTML templates or JWC files are in sync with your code.

Let me emphasize what I said above... I do not write tests to assert type checking or syntax, I write tests to exercise business logic. If there is a syntax error or a type mismatch then my test will automatically find it, but I don't explicitly test for it. And yes, bugs slip through the cracks of even the best testers, and at that point you add tests for those bugs... rinse and repeat.

Smalltalk was mentioned. From what I know of that environment, testing was of utmost importance there as well.

What an entertaining thread! I was just about to sign off of the Tapestry list because my world is completely in RoR now, but I'll stick around a bit longer for this fun :)

        Erik


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to