To make a long story very short: I spent many years programming large systems in C. If I had declared every function like this:
void *foo(void *arg,...);
everyone would have thought I was nuts (not to mention a really terrible programmer.) This is the nutshell version of why I don’t think I will personally ever understand the appeal of duck typing.
Having said that, I will probably make one more attempt to learn Ruby. I liked some of Ruby’s structures, it was just the duck-typing thing I couldn’t grok. I’ll give it one more try and maybe I’ll see what all the fuss is about this time. If not, at least I can honestly say I tried…