Re: Python extension commands in git - request for policy change
- From
Sitaram Chamarty <sitaramc@gmail.com>
- Date
- Nov 27, 2012, 21:08 UTC
- Message-ID
- <CAMK1S_g-1oqjXAekXyBy6UBxbo-LHWtG_49YHSVsKJKezcLR_w@mail.gmail.com>
- In-Reply-To
- <20121127183530.GB11845@thyrsus.com>
On Wed, Nov 28, 2012 at 12:05 AM, Eric S. Raymond <esr@thyrsus.com> wrote:
Show 23 quoted lines
> Magnus Bäck <baeck@google.com>: >> While "constant traffic" probably overstates the issue, these are not >> theoretical problems. I recall at least three cases in the last year >> or so where Git has seen breakage with Solaris or Mac OS X because >> of sed or tr incompatibilities, and I don't even read this list that >> thoroughly. > > This is exactly the sort of of pain experience would lead me to > expect. > > OK, this is where I assume the full Old Fart position (30-year > old-school Unix guy, author of "The Art of Unix Programming", can > remember the years before Perl and still has sh idioms in his > fingertips) and say "Get with the 21st century, people! Or at least > 1990..." > > As a general scripting language shell sucks *really badly* compared to > anything new-school. Performance, portability, you name it, it's a > mess. It's not so much the shell interpreters itself that are the > portabilty problem, but (as Magnus implicitly points out) all those > userland dependencies on sed and tr and awk and even variants of > expr(!) that get dragged in the second you try to get any actual work > done.
Not always. There are several situations where a shell script that makes good use of grep, cut, etc., is definitely much cleaner and more elegant than anything you can do in a "propah" programming language.
If the price of doing that is sticking to a base set of primitives, it's a small price to pay, not much different from sticking to python 2.7 or perl 5.8 or whatever.
Shell *is* the universal scripting language, not perl (even though we all know it is what God himself used to create the world -- see xkcd 224 if you don't believe me!), not python, not Ruby.
-- sitaram