PEP idea: On Windows, subprocess should implicitly support .bat and .cmd scripts by using FindExecutable from win32 API

Marko Rauhamaa marko at pacujo.net
Thu May 7 09:44:39 EDT 2015


Chris Angelico <rosuav at gmail.com>:

>> A software system is defined through its interfaces.
>
> And the most important interface is with a human.

I barely ever program anything for the human interface.

> If you want to write single-platform code, go for it; but if you want
> to write cross-platform code, the best way is to let someone else take
> care of the differences, abstracting them away into a nice tidy thing
> that we call a high-level language.

You suggested most software should be platform-agnostic. Now you are
qualifying the statement.

But still, I challenge the notion that you could write a web site, game
or application that feels natural on the XBox, iPhone, Windows PC and
LXDE at the same time without significant amounts of
platform-conditioned parts.

> I don't need forking, file descriptors, or process IDs, to describe
> how a person uses my code. Those are *implementation details*.

Even if I programmed for the human and the UI experience were
more-or-less identical between platforms, the system interfaces can be
conceptually quite different. Heroic attempts have been made to overcome
those differences with generic APIs. However, Python should stay out of
that crusade.

Whole programming cultures, idioms and "right ways" differ between
platforms. What's the right way to write a service (daemon)? That's
probably completely different between Windows and Linux. Linux itself is
undergoing a biggish transformation there: an exemplary daemon of last
year will likely be deprecated within a few years.


Marko



More information about the Python-list mailing list