In article <50989a16$0$29980$c3e8da3$54964...@news.astraweb.com>, Steven D'Aprano <steve+comp.lang.pyt...@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. -- http://mail.python.org/mailman/listinfo/python-list