Maxi Contieri I'm not questioning your opinion, I already acknowledged that it has merit in my first comment.
What's your proposal, though? How should we proceed? Introduce massive breaking changes into all existing software? Use entirely new programming languages and rewrite everything?
I don't think that changing this is realistic or needed. Once you're used to it, the cognitive load gets less. At least that's the case for me, I cannot speak for every software developer.
I appreciate your blog post, because it does question things as they are being done and shines a light on the cognitive difficulties this produces (at least for some people, especially beginners).
Julian Ewers-Peters
Mobile App Developer
My two cents: I get the point and it has some merit. However, I disagree with the idea of starting with 1, because in computer science indices of arrays, lists and so on usually describe an offset in memory. Index 0 means that there is no offset, so you're at the beginning of an array, you haven't moved the pointer to a different position inside the allocated memory. I know that this adds cognitive load, but adding an abstraction which shifts this logic only makes it more confusing than knowing and understanding that in programming you always start at 0.