Summary: strong/weak typing and pointers

Carl Banks imbosol at
Thu Nov 11 06:19:01 CET 2004

Jeff Shannon <jeff at> wrote in message news:<10p52ccen1ql956 at>...
> Carl Banks wrote:
> >mike at (Michael Hobbs) wrote in message news:<10p1ud2juqlkb7c at>...
> >  
> >
> >>I was thinking that "rigid" would be the antonym of "fluid".
> >>    
> >>
> >
> >You are correct, of course.  However, I don't like "rigid" as a term
> >to describe typing, for a simple reason: it's not specific enough.
> >
> >Unlike solid, rigid can easily refer not only to substances, but also
> >to stances, or laws, or hierarchies, or guidelines, etc. [...]
> >
> >On the opposite end, I think I actually would prefer "liquid" to
> >"fluid".  Fluid would be ok; unlike with rigid, there are no fluid
> >stances or fluid laws, although there are fluid guidelines.  Fluid
> >isn't as general in meaning as rigid is.  However, the word liquid
> >definitely stresses the metaphor with substances a lot better then the
> >word fluid does.
> >  
> >
> On the other hand, I personally think that "rigid/fluid" make a better 
> metaphor specifically *because* they are not tied so much to physical 
> properties 

Just to nitpick: something with a vague meaning really isn't a
metaphor so much as a literal description in a different sense of the

If you don't like how the word solid is tied to material properties,
then it seems to me that your real problem with it is that you just
don't like metaphors.  Personally, to me, it doesn't matter too much. 
I am equally comfortable with either metaphorical or literal

My criteria is not whether the meaning is literal or figurative, but
whether it's specific.  Solid is; rigid isn't.

> -- they are terms that have already been generalized as 
> metaphor in the much same way as is intended here.  The parallel with 
> rigid stances, rigid hierarchies, etc, is an appropriate one -- in all 
> such cases, we're talking about something that resists attempts to 
> change its nature and/or form.  Similarly, "fluid" connotes "easily 
> conforming to its environment", an apt description of the behavior of 
> objects in a language full of automatic conversions/coercions.  At least 
> to me, the most obvious interpretation of both terms is the situation 
> we're discussing here.

Let me try to explain why I disagree with this.  If you paid attention
in your study of grammar, you might be aware that there are two use
cases for adjectives: descriptive and restrictive.  A descriptive
adjective (word, phrase, or clause) gives information about the noun,
whereas the restrictive adjective tries to distinguish it.

I don't have any problem using rigid in a descriptive sense.  It is a
wholly accurate description.

In a restrictive sense, it simply doesn't do the job: it's too
applicable to other dimensions of typing.  Rigid could easily be taken
to mean inability to reinterpret bits, and it's not a stretch at all
for it to be taken to refer to static typing.  It's certainly _most_
appicable to the implicit casting scale, but not _only_ applicable. 
The drop-off in applicabilty to other dimensions is simply not enough.
 It's too vague to be a name.

OTOH, solid has a specific (literal) meaning that is very analogous to
its proposed use (hence its suitability as a metaphor).  Thus it
qualifies as a name much better than rigid does.

That's it really.  It has nothing to do with how well it describes the
typing; just how well it identifies it.  We've seen names like strong
and weak utterly fail to identify what they mean, because they're
vague.  It would be the same with rigid.


More information about the Python-list mailing list