James J. Besemer
jb at cascade-sys.com
Thu Sep 26 06:34:22 CEST 2002
Alex Martelli wrote:
>Erik Max Francis wrote:
>>This is simply a case of differing terminology.
I agree the whole is ultimately a difference of terminology but the
choice is not arbitrary. I've tried to search out and establish the
true meaning of the term in an intellectually honest fashion-- I
certainly was NOT simply making up and promoting some arbitrary
definition of my own.
>Bingo -- and I think that if one works through all the references I
>gave one will see Cardelli cover all the major issues, though he does
>not do so in any single one of them and his exact terminology may
>differ from mine, yours, James's, "Some authors'"
I'll stipulate to this.
>refer to languages with latent types as weakly typed or dynamically typed
About 1/4 of the google references I found used this alternative. Now I
better understand why. However, it's better established than the
oddball third alternative you've been struggling to defend.
>I don't think it's all that pragmatically useful to have
>a black/white definition for properties, in real life -- it may be
>good maths (or at least, much-simpler maths)
I thought we were talking Computer Science, or at least Computer
Programming, which is somewhat more along the lines of maths rather than
real life. Some properties are intrinsically boolean, others are not.
"Type Safety", "Strongly typed" or "Weakly typed" have definitions that
make them boolean properties.
>It may be important to know the extent and character of the deviation,
>of course. For example, [...]
The "degree of safeness" or the "list of things that make a language
weakly typed," or the "quality of a language's type or object model" are
interesting non-boolean properties.
But this is not "weak typing".
>On the other side of the fence, it's clearly trivial to design
>a language which can have no type problems --
>just give the language
>just one type, period. It's even easy for the compiler to ensure
>that you are indeed using that single type (as it's the only one
>you have) wherever it's required (i.e., everywhere). It's of no
>bloody practical use whatsoever, of course.
False. Neither sufficient nor necessary.
E.g., Unix's "BC" arbitrary precision arithmetic calculator had but a
single data type and yet it was extremely useful.
>Eg., in another
>post James claimed that standard C has no objects --
>Clearly, James meant "objects as in OO",
You are correct in what you say above and, particularly that the meaning
of my alliterative use of "objects" was clear in context. My point was
that many references including Cardelli's "Type Systems" specifically
cite C as an example of a "weakly typed" language. Since C lacks
"objects" (in the OOP sense) then "weakly typed" clearly does not have
anything to do with the relative quality of a language's object model
(which was your position at the time). Since it was your assertion
about OO which I was refuting, my abbreviation C "objects" clearly meant
C's OO features.
Ha! And I was afraid you were going to accuse me of saying "the
original C language was well defined". ;o) Which I did. =8^O. But it
was completely tangent to the main argument.
James J. Besemer 503-280-0838 voice
2727 NE Skidmore St. 503-280-0375 fax
Portland, Oregon 97211-6557 mailto:jb at cascade-sys.com
More information about the Python-list