Getting started

James J. Besemer jb at cascade-sys.com
Thu Sep 26 00:34:22 EDT 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.  

>(Some authors 
>refer to languages with latent types as weakly typed or dynamically typed 
>languages.) 
>

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, [...]
>

Absolutely true.

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 -- 
>

True.

>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.

Warmest Regards

--jb

-- 
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
				http://cascade-sys.com	








More information about the Python-list mailing list