Array indices and (in|ex)clusive ranges

Steven Schveighoffer schveiguy at yahoo.com
Wed Jul 8 19:39:24 PDT 2009


On Wed, 08 Jul 2009 13:48:01 -0400, Michiel Helvensteijn  
<m.helvensteijn.remove at gmail.com> wrote:

> I've been reading the "Case Range Statement" topic with some interest.
>
> It has occurred to me that all those problems would be solved if array
> indices started with 1 instead of 0. Just let arrays be indexed from 1 to
> size and make the a..b syntax inclusive.
>
> I'll be expecting this change to be put in D forthwith. ;-)
>
> No, but seriously. Complete loss of backwards compatibility aside,  
> wouldn't
> this change solve the range problem to everyones satisfaction? Like, in
> theory?

Maybe, but it sure introduces a plethora of other problems :)  For  
instance, all reasonable processors use 0-based indexes, so you have to  
shoehorn your 1-based design into it, causing some code bloat, and loss of  
performance.

Using zero-based indexes has many advantages, and you have to look at the  
whole picture, not just range statements.

-Steve

Marty: Why don't you just make ten louder and make ten be the top number  
and make that a little louder?
Nigel: [pause] These go to eleven.



More information about the Digitalmars-d mailing list