On Wed, Dec 18, 2002 at 02:05:16AM +0900, Dan Sugalski wrote:
> How often is time to time, though? Daily? Weekly? Monthly? It's just 
> not a common error, so the argument that it's useful just doesn't 
> wash.

It's often enough that I don't want to completely abandon static typing,
at least for some things.

> (And the warning in your provided code is disingenuous as it is a
> valid comparison in at least some of the cases, though worth proper
> checking)

The cases where it isn't valid are hard to detect.  It's a subtle error
that may not ever bite me, or it might come back to haunt me when I
least expect.  I don't trust my unit-test-writing skills enough to be
able to catch an error like this.

> Of course, the C-ish languages don't help there, as the common 
> solution seems to be a cast rather than fixing the code, which often 
> makes things worse...

Agreed.  But an explicit cast is better than no warning at all, since
with a cast my intent is clear.  And C++ casts are ugly enough that I
avoid them whenever possible.  The same is true of Ruby's coercion.

Paul