Python as a scripting language. Alternative to bash script?

Rhodri James rhodri at wildebst.demon.co.uk
Mon Jun 28 18:12:47 EDT 2010


On Mon, 28 Jun 2010 18:57:45 +0100, John Nagle <nagle at animats.com> wrote:

> On 6/28/2010 7:58 AM, Benjamin Kaplan wrote:
>> How does a program return anything other than an exit code?
>
>     Ah, yes, the second biggest design mistake in UNIX.
>
>     Programs have "argv" and "argc", plus environment variables,
> going in.  So, going in, there are essentially subroutine parameters.
> But all that comes back is an exit code. They should have had
> something similar coming back, with arguments to "exit()" returning
> the results.  Then the "many small intercommunicating programs"
> concept would have worked much better.

That's not just a little harsh, given that I've never known any operating  
system that returned more than an integer exit code, it's blithely  
ignoring the Unix paradigm.  It's stream-based processing; argv and the  
environment are better thought of as switches, controlling how a program  
treats stdin to produce stdout.  Classic Unix programming is a matter of  
stringing a bunch of tools together with pipes to get the output you  
want.  This isn't a great paradigm for GUIs (not without tweaking that  
hasn't really been done), but then again it was never meant to be.

>     C was like that once.  In the 1970s, all you could return was
> an "int" or a "float".  But that got fixed.

Strangely, these facts are not unconnected.

-- 
Rhodri James *-* Wildebeeste Herder to the Masses



More information about the Python-list mailing list