<div class="gmail_quote">On Thu, Jan 24, 2013 at 10:51 PM, Loïc Hoguin <span dir="ltr"><<a href="mailto:essen@ninenines.eu" target="_blank">essen@ninenines.eu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
What is it with zero-based indexes that make people so morbidly<br>
fascinated by them. If you are talking *offsets* then I agree that<br>
zero-based is fine, it's saying how far away something is from a some<br>
point. But here we are talking *indexes*, you know like first, second,<br>
third, etc. No indexes start at one! And don' go on about how C does it<br>
because C doesn't have arrays and indexes it has pointers and offsets,<br>
foo[3] is just syntactic sugar for *foo+3. And don't go on about how<br>
much easier it is to count from zero, I don't buy that, we can all add<br>
and subtract one without problems. Or at least I hope so.<br>
</blockquote>
<br></div>
There are only two hard problems in computer science: cache invalidation, naming things, and off by one errors.</blockquote><div><br><br></div></div>I can drive a car with European controls or one with American controls.<br>
And yet whenever I change over, I end up turning on the wiper when I want to turn on the turning lights.<br><br>Its fine to make fun of people who fixate over 0/1 based indexing.<br>Having both in the same language is really an invitation to chaos.<br>
We are seeing that in our project where the initial list based prototype is now being replaced by an array based one.<br><br>How much time is spent on this debugging is left to the imagination!<br><br>"Should array indices start at 0 or 1? My compromise of 0.5 was rejected
 without, I thought, proper consideration." -- Stan Kelly-Bootle<br>
<br>