Inquiry regarding the name of subprocess.Popen class

Marc 'BlackJack' Rintsch bj_666 at gmx.net
Wed Sep 3 13:06:51 EDT 2008


On Wed, 03 Sep 2008 03:09:18 -0400, Derek Martin wrote:

> On Wed, Sep 03, 2008 at 06:40:10AM +0000, Marc 'BlackJack' Rintsch
> wrote:
>> On Tue, 02 Sep 2008 19:54:12 -0400, Derek Martin wrote:
>> 
>> >> And if they model an action there must be some way to activate the
>> >> action
>> > 
>> > That's a reasonable assumption, but as I also said, the object might
>> > just describe the action -- essentially the equivalent of a struct in
>> > C.
>> 
>> ``struct``\s in C describe *actions*!?  Functions do this.
> 
> struct run {
> 	int speed;
> 	direction_type direction;
> };

Guess what, I don't like the name because it doesn't describe an action 
but a state of, e.g. a `Runner`.  :-)

>> >> but the instances of `Popen` are no actions.  There's no way to
>> >> "execute" a `Popen` instance.
>> > 
>> > Yes there is... you execute it when you instantiate the object.
>> 
>> But then the instance itself isn't an action but the result of one.
> 
> So?  A class doesn't represent an action, remember?  It represents a
> thing.  Isn't that what you said?

Yes and that's why the type name should not describe the action but the 
the thing that results from it.  IMHO.  But I said that already.

>> >> Maybe from your POV.  Facts:  It doesn't use the `popen()` function
>> > 
>> > So?  Neither does the C version of popen(), but that function is
>> > still called popen()!
>> 
>> Now you lost me.  The C version of `popen()` isn't recursive, why on
>> earth should it be, so what's that statement supposed to mean!?
> 
> Sorry, did I go too fast for you?  Your "facts" seem to be suggesting
> that for Python's Popen class to be named Popen, it should use the C
> popen() function.

So you imply that I think any function should only have a name of a 
function it uses under the hood!?  I still don't get that sentence.

> Sorry, but you are contradicting yourself (repeatedly), and your
> arguments don't make any sense.

I don't contradict myself.  Either you are playing silly naming games 
with `popen()` on different levels ("concept", Popen, popen() (Python),
popen() (C)) or you just don't *want* to understand my arguments.

I understand your arguments why you think `Popen` is a proper name, but 
don't share them.  It's okay for me if you don't like my arguments 
against it and for something like `Process`, but telling me they don't 
make any sense and patronizing me doesn't make your arguments more 
convincing.

Ciao,
	Marc 'BlackJack' Rintsch



More information about the Python-list mailing list