As a programmer I understand that part. Is there something else I'm not understanding correctly?
What I'm saying is that while you can count however you like, one finger is still a single finger. You can change the numbers to whatever words you want or use whatever language you like. However, if the finger is there then it's there. There aren't none of them there. It isn't nothing. It's there. Normally, it's a 1 and not a 0. If it was a 0 then it wouldn't be there because it would be nothing because 0 equals nothing.
You can change the index or the label of that object to whatever you like but it doesn't change reality or the fact that object is there or not. If it wasn't there then there would be 0 of them there and you wouldn't count it. So while you can count however you like or translate numbers however you like, you cannot change reality or how math works. If you take 2 objects and add 2 more objects you have 4 objects. If you are counting from 0 then you'll still have 4 objects, although you may use a different label other than 4 to describe them and count them with different words. You haven't actually changed the number of objects there, you've just given the values different names.