[Types-sig] Re: [Python-Dev] Revive the types sig?

Uche Ogbuji uche.ogbuji@fourthought.com
Mon, 12 Mar 2001 00:11:27 -0700

Jeremy Hylton:

> If documentation is really the problem you want to solve, I imagine
> we'd make much more progress if we could agree on a javadoc-style
> format for documentation.  The ability to add return-type declarations
> to functions and methods doesn't seem like much of a win.

I know this isn't the types SIG and all, but since it has come up here, I'd 
like to (once again) express my violent disagreement with the efforts to add 
static typing to Python.  After this, I won't pursue the thread further here.

I used to agree with John Max Skaller that if any such beast were needed, it 
should be a more general system for asserting correctness, but I now realize 
that even that avenue might lead to madness.

Python provides more than enough power for any programmer to impose their own 
correctness tests, including those for type-safety.  Paul has pointed out to 
me that the goal of the types SIG is some mechanism that would not affect 
those of us who want nothing to do with static typing; but my fear is that 
once the decision is made to come up with something, such considerations might 
be the first out the window.  Indeed, the last round of talks produced some 
very outre proposals.

Type errors are not even close to the majority of those I make while 
programming in Python, and I'm quite certain that the code I've written in 
Python is much less buggy than code I've written in strongly-typed languages.  
Expressiveness, IMO, is a far better aid to correctness than artificial 
restrictions (see Java for the example of school-marm programming gone amok).

If I understand Jeremy correctly, I am in strong agreement that it is at least 
worth trying the structured documentation approach to signalling pre- and 
post-conditions before turning Python into a rather different language.

Uche Ogbuji                               Principal Consultant
uche.ogbuji@fourthought.com               +1 303 583 9900 x 101
Fourthought, Inc.                         http://Fourthought.com 
4735 East Walnut St, Ste. C, Boulder, CO 80301-2537, USA
Software-engineering, knowledge-management, XML, CORBA, Linux, Python