Email List: Xaustin-group-lX
[All Lists]

RE: Austin Interps 211

To: "Schwarz, Konrad (CT)" <konrad.schwarz@xxxxxxxxxxx>
Subject: RE: Austin Interps 211
From: Roger Marquis <marquis@xxxxxxxxx>
Date: Tue, 24 Jun 2008 10:50:58 -0700 (PDT)
Cc: Glenn Fowler <gsf@xxxxxxxxxxxxxxxx>, austin-group-l@xxxxxxxxxxxxx
References: <200806171819.m5HIJAfo027636@penguin.research.att.com><20080623171832.B49C12B779E@mx5.roble.com> <200806231807.m5NI759M022771@penguin.research.att.com><20080623191059.0288E2B7819@mx5.roble.com><2A0150C01096FE48B4DEFC16A39E9C1802670A01@MCHP7RCA.ww002.siemens.net>
Would that not introduce an incompatibility between older and newer
versions of /bin/sh?
Obviously, but that is the price of progress.
That's where we disagree.  It is certainly progress for languages other
than /bin/sh.  But creating the conditions under which a given script will
break is not everyone's definition of progress.

POSIX surely has a way of figuring out at shell level to which version
of the standard a system complies to, so careful application writers who
care about this can test this and act appropriately.
Application writers cannot be so careful as to test operating systems they
don't have access to.  Is this not what standards are for?  How does
compromising the backwards compatibility of future /bin/sh scripts square
with the expected deliverable of a standards organization?

 Whether { bash ksh zsh dash tcsh csh } implement the
feature is relatively tangental.
No, because on many systems, bash or ksh are the de facto /bin/sh
implementations.
Don't forget dash, but then these shells are supposed to be /bin/sh
compatible by introspection.  Failed implementations, intentional or
otherwise, should not be accommodated by changing the standard of the only
shell that developers can turn to for compatibility.  When they need
features they use other shells or scripting languages.  When they need to
maximize compatibility they use /bin/sh.

Thus, scripts written for these systems automatically benefit
from the proposed extension (in that they suddenly become POSIX
compliant), whereas adding new syntax to printf(1) requires all
such scripts to be rewritten.
As pointed out earlier, printf is relatively little used in /bin/sh
scripts, but I agree that new printf syntax is not desirable either.

Roger Marquis

<Prev in Thread] Current Thread [Next in Thread>