[comp.lang.c] C official DOD language?

cspw.quagga@p0.f4.n494.z5.fidonet.org (cspw quagga) (06/10/90)

 
>In article <1631@dinl.mmc.UUCP> noren@dinl.UUCP (Charles Noren) writes:
>> C Advantage list:
>>  5.  Array subscripts in C must start with zero, which for
>>      some is counter intuitive
>
 
IMHO, our experience with flexible lower bounds has been appalling, and
not a very useful programming feature.  The Pascal/Modula camp still
has difficulty deciding whether
   ARRAY [1..10] OF T;
is equivalent/assignment compatible with
   ARRAY ['A'..'J'] OF T;
And even a cursory glance at most Modula implementations can show the
difficulty of trying to provide a general mechanism with variable
lower bounds.   (For example, when one passes an array to a formal
parameter which is an 'open' array, the bounds are automatically
'renumbered' as if they began at 0.  Many library procedures (eg Pos)
that are widely used return HIGH(array)+1 to denote a non-found condition,
or return the position of the located element AS IF THE ARRAY HAD BEEN
NUMBERED FROM 0.  Declaring  ARRAY [1..10] OF CHAR and trying to use the
library procedures is a recipe for a complete mess.
 
So I think fixed lower bounds are more natural and will always provide
better consistency and abstraction in the language.  I think it is a
minor argument about whether 0 or 1 is the chosen lower bound (this was
a C vs Fortan thread, once upon a time).
 
If the C convention is counter-intuitive for some, they'll need to
adjust their intuition.
 
Pete
 
--
EP Wentworth - Dept. of Computer Science - Rhodes University - Grahamstown.
Internet: cspw.quagga@f4.n494.z5.fidonet.org
Uninet: cspw@quagga
uucp: ..uunet!m2xenix!quagga!cspw



--  
uucp: uunet!m2xenix!puddle!5!494!4.0!cspw.quagga
Internet: cspw.quagga@p0.f4.n494.z5.fidonet.org