[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: 1-based indexing in Lua or the one without zero
- From: Oliver Kroth <oliver.kroth@...>
- Date: Mon, 23 Apr 2018 18:58:58 +0200
Am 22.04.2018 um 17:43 schrieb ag:
On Tue, Apr 03, at 03:25 Oliver Kroth wrote:
Am 03.04.2018 um 15:02 schrieb Ahmed Charles:
Written before I was born, EWD831
describes why 0 based ranges are superior better than I can. It has
nothing to do with programming languages and everything to do with math.
Actually, Dijkstra just prefers to have items counted like 0,...,N-1 instead
When I count things, let's say, cows, I start with the first cow and say
"one", second cow "two", third cow counted "three"...
I would not start with the first cow and say "zero", I say "zero" when there
is no cow at all.
A zero-th cow is the cow in the empty corral, and actually "not a cow"...
I'm going to be another one that bites the dust here.
So, lets say that we could talk with a just born human child, and asked him:
how old are you?
Is not one, but is not zero either. He actually is zero and an offset.
Back in the old times learned to say that we are __at__ [age] or walking
In this regard and in a humanish way of thinking and without second
thoughts, Lua got it right. But i do not think that machines thinks the
They don't have to. That's the compiler's task.
It fills the gap between negative integer numbers and positive integer
And more philosophically:
What could be the one without the zero? It has no meaning, as it requires a
starting point to exist and calculate itself and the next same objects, even
if it is a cow or a goat (its wise that you've used cows and not goats in the
example (but this is another story)).
I always found and still find it odd that the n-th element is indexed
But now, what do you think that would be the kid's answer after one year?
For the record and in mho, C like languages choosed very wiselly to refer at
the starting point of the object address (or n-1) and for a good reason.
always reminds me of one of my favourite jokes:
What are the three most common errors in programming?
1) missing semicolon,
2) being off by one