Obnoxious postings from Google Groups

Roy Smith roy at panix.com
Tue Nov 6 14:52:36 CET 2012


In article <50989a16$0$29980$c3e8da3$5496439d at news.astraweb.com>,
 Steven D'Aprano <steve+comp.lang.python at pearwood.info> wrote:

> Shell do not [quote strings, etc] because they 
> are designed for lazy users and merely aim to be "good enough".

Well, sort of.  Or, perhaps more correctly, "Yes, but that's a good 
thing".

Shells are designed to be interactive tools, where most commands get run 
once and thrown away.  As such, you want everything to be easy to type, 
which largely means your fingers never leave the main part of the 
keyboard and you never have to reach for the shift key.

The basic unix shell syntax was laid down in the days of the ASR-33.  It 
was slow, hard to type on, and only had a single case of the alphabet 
(and missing a few pieces of punctuation).  Saving keystrokes was an 
important consideration. 

Programming languages are designed to write programs.  Not only will the 
code be {used, read, maintained} for a much longer period of time, it 
will be used by people other than the original author, and on inputs 
other than originally intended.  It needs to be more robust.

The problem is that shells got pressed into service as programming 
languages.  At that, they suck.  Sure, putting a few commands into a 
file for reuse was great.  Adding a few bells and whistles like 
variables and conditional execution added greatly to the power of the 
tool.  But, by the time we got to 100 (or 1000!) line shell scripts with 
functions, loops, arithmetic, etc, things had clearly gone off into the 
weeds.  It's just the wrong tool for that.


More information about the Python-list mailing list