2 ms·
It does make some sense: if I have some apples, and I ask a child to count them, they'll address each one starting with the number 1, not the number 0.
by robertlagrant 2y ago
It does make some sense: if I have some apples, and I ask a child to count them, they'll address each one starting with the number 1, not the number 0.
- IshKebab 2y agoIndexing/addressing is not counting though. Look at a ruler. It doesn't start at 1.
- robertlagrant 2y agoYes, indeed. But when indexing to an element in an array you aren't measuring from a zero (well, in memory you are, but not conceptually). You're conceptually pointing at an apple.
- IshKebab 2y ago> But when indexing to an element in an array you aren't measuring from a zero (well, in memory you are, but not conceptually). Yes you are!! In memory, and conceptually. You're conceptually moving your finger 0 spaces from the start of the apple array.
- robertlagrant 2y agoI think maybe it's just hard to unlearn the offset mentality. Of course you can convert a direct index mentality to an offset mentality, but I don't think anyone is pointing at the first item in a row of items and thinking "that's a zero offset from the start of the number of items". They're thinking, "That's item number 1".
- IshKebab 2y ago> They're thinking, "That's item number 1". Yeah that's because the distinction between indexing and counting is pretty much irrelevant to every day use, and to maths where you can just hand-wave syntax. So people are very used to doing it "wrong". That's what most of the issue with this debate is. Indexing from 1 is wrong, but people are soooo used to it they just can't get over what they think is the "normal" way.
- robertlagrant 2y ago> Yeah that's because the distinction between indexing and counting is pretty much irrelevant to every day use No it's not. Telling the time or measuring something is 0-indexed. But identifying a thing in a list is 1-indexed.
- aqueueaqueue 2y agoThanks that made it click. While I understand the CS concepts, I have never really thought about the developer UX before.