[Python-Dev] Son of PEP 246, redux (original) (raw)
Alex Martelli aleax at aleax.it
Thu Jan 13 08:50:54 CET 2005
- Previous message: [Python-Dev] Son of PEP 246, redux
- Next message: [Python-Dev] Son of PEP 246, redux
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2005 Jan 13, at 03:57, Phillip J. Eby wrote:
Okay, I'm really out of time now. Hate to dump this in as a possible spoiler on PEP 246, because I was just as excited as Alex about the possibility of it going in. But this whole debate has made me even less enamored of adaptation, and more interested in finding a cleaner, more intuitive way to do it.
Perfectly reasonable, of course. Doubts about the class / inheritance
/ interface / instance / method / ... "canon" as the OTW to do OOP are
almost as old as that canon itself, and have evolved along the years,
producing many interesting counterexamples and variations, and I fully
share your interest in them. Adaptation is rather ensconced'' in that canon, and the conceptual and practical issues of IS-A which pervade the canon are all reflected in the new
(can be automatically
adapted to be used) AS-A'' which adaptation introduces. If adaptation
cannot survive some vigorous critical appraisal, it's much better to
air the issues now than later.
Your proposals are novel and interesting. They also go WAY deeper into a critical reappraisal of the whole object model of Python, which has always been quite reasonably close to the above-mentioned "canon" and indeed has been getting more so, rather than less, since 2.2 (albeit in a uniquely Pythonical way, as is Python's wont -- but not conceptually, nor, mostly, practically, all that VERY far from canonic OOP). Moreover, your proposals are at a very early stage and no doubt need a lot more experience, discussion, maturation, and give-and-take.
Further, you have indicated that, far from conflicting with PEP 246, your new ideas can grow alongside and on top of it -- if I read you correctly, you have prototyped some variations of them using PEP 246 for implementation, you have some ideas of how 'adapt' could in turn be recast by using your new ideas as conceptual and practical foundations, etc, etc.
So, I think the best course of action at this time might be for me to edit PEP 246 to reflect some of this enormously voluminous discussion, including points of contention (it's part of a PEP's job to also indicate points of dissent, after all); and I think you should get a new PEP number to use for your new ideas, and develop them on that separate PEP, say PEP XYZ. Knowing that a rethink of the whole object-model and related canon is going on at the same time should help me keep PEP 246 reasonably minimal and spare, very much in the spirit of YAGNI -- as few features as possible, for now.
If Guido, in consequence, decides to completely block 246's progress while waiting for the Copernican Revolution of your new PEP XYZ to mature, so be it -- his ``nose'' will no doubt be the best guide to him on the matter. But I hope that, in the same pragmatic and minimalist spirit as his "stop the flames" Artima post -- proposing minimalistic interfaces and adaptation syntax as a starting point, while yet keeping as a background reflection the rich and complicated possibilities of parameterized types &c as discussed in his previous Artima entries -- he'll still give a minimalistic PEP 246 the go-ahead so that widespread, real-world experimentation with adaptation and his other proposals can proceed, and give many Pythonistas some practical experience which will make future discussions and developments much sounder-based and productive.
So, what do you think -- does this new plan of action sound reasonable to you?
Alex
- Previous message: [Python-Dev] Son of PEP 246, redux
- Next message: [Python-Dev] Son of PEP 246, redux
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]