Python from Wise Guy's Viewpoint

Joachim Durchholz joachim.durchholz at web.de
Mon Oct 27 11:57:00 EST 2003


Joe Marshall wrote:

> Joachim Durchholz <joachim.durchholz at web.de> writes:
> 
>>prunesquallor at comcast.net wrote:
>>
>>>My point is that type systems can reject valid programs.
>>
>>And the point of the guys with FPL experience is that, given a good
>>type system [*], there are few if any practial programs that would be
>>wrongly rejected.
> 
> We're stating a pretty straightforward, objective, testable hypothesis:  
> 
>   ``There exists valid programs that cannot be statically checked by
>     such-and-such a system.''
> 
> and we get back
>  
>    `yes, but...'
>    `in our experience'
>    `*I've* never seen it'
>    `if the type system is any good'
>    `few programs'
>    `no practical programs'
>    `no useful programs'
>    `isolated case'
>    `99% of the time'
>    `most commercial programs'
>    `most real-world programs'
>    `only contrived examples'
>    `nothings perfect'
>    `in almost every case'
> 
> Excuse us if we are skeptical.

Then be sceptical if you like.
Actually your hypothesis is ill-worded anyway: it says "valid" without 
specifying what kind of validity means (which already has lead us into 
many irrelevant meanderings about what correctness and validity mean, 
and that they cannot be expressed if you don't have specifications). It 
ignores that some programs need restructuring to have any useful static 
types associated with its items (you can always put a Lisp-style type 
system on top of a statically-typed language, with little effort). It 
ignores the practical experience of people who indeed say "static typing 
with type inference is not a straightjacket but a ladder: supports where 
it's helpful, and extending my reach in directions that were unthinkable 
before they were invented".
However, all I hear is questions "how to you type this". Whining for the 
known and trusted idioms, instead of even thinking about the idioms that 
static typing might provide.

Just take the testimony and accept it. Just as I take the testimony that 
one can write large programs in Lisp. Stay sceptical if you like - I 
certainly do.

I'm just tired of the Costanza-style constant nitpicking, topic evasion, 
and not answering to critical questions (such as his experience with 
modern type systems - he claims it but shows little evidence for that, 
something that makes me suspicious about his credibility in general).

Technical newsgroups are a place for exchanging new ideas, and for 
helping people along. This thread has already served that purpose to the 
utmost extent imaginable, what's left is squabbling.

Good night and Over and Out for me (except for direct answers to my 
posts, where appropriate).

Regards,
Jo





More information about the Python-list mailing list