Anyway, it's not hard to get used to.
And honestly, it's because I do numerical programming that I value zero-based offsets. In addition to subscripting arrays (which I could do in any base), I use those subscripts in the math itself. For instance, the zeroth bin of an FFT indicates the zero frequency. I also choose the zeroth array element to represent the constant term (zeroth power) of a polynomial, and so on.
The common places where math notation uses 1-based subscripts (matrix notation) have more to do with people saying "first", "second", etc... With a few exceptions (the Hilbert matrix comes to mind), the base of the subscript isn't actually relevant to the math itself.
I do appreciate that zero is easier because of offset caluculations, but you really do get used to it and in most cases the compiler figures it out with almost no penalty.
What formulas do you regularly use which benefit from being 1-based? Note, I'm not asking for instances where the index doesn't really matter and the author of a paper simply chose base-1.
There are clearly cases where zero based is more natural. But I don't regularly use any cases where one based is an improvement.
I will admit that zero-based adds a lot of confusion when communicating to other people.
Funny how I always thought zero-based numbering[0] was a hack. Just in computer science a hack will become the right way? Any other fields where hacks became the new norm due to technical restrictions?
Your statement is a opinion.
To add to the list of languages using arrays in a "gross" way: pgsql, pascal, lua.
[1]: https://en.wikipedia.org/wiki/Zero-based_numbering#Origin
Because of this, I figure any language that supports 1-indexing should also support arbitrary ranges for the indexing, like in Ada. (Basically, what's so special about 1?)
Yeah, that's why put a smiley there. :-)
$[ = 1;
(Yes, I'm _old_...) $| = 1;