[Types-sig] Re: [Python-Dev] Revive the types sig?
Mon, 12 Mar 2001 00:11:27 -0700
> 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
firstname.lastname@example.org +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