> А при чем тут "Си"
> нам так 50 лет назад удобней былоА при чём тут 50 лет назад?
---
TL;DR:
1. индексация с нуля в принципе полезна и не является тяжёлым наследием чего-то там.
2. Не надо необдуманно тащить правила из повседневной жизни. По-моему, апелляция к повседневной жизни тут вообще не работает - в ней итераторы не используют и пишут на русском. А в повседневной работе как раз итераторы вместо индексов и английская раскладка для кода. А если опускаться ниже итераторов, то мы часто опускаемся на тот уровень, где устройство железа стоит учитывать независимо от предпочтений[a].
---
1. Я же написал про непрерывный многомерный массив, можно добавить модульную арифметику, LUT-таблицы, взятие каждого n-ого элемента.
2. "Бизнес-слой" в твоём понимании - работа со штуками из повседневной жизни? А в повседневной жизни не только нумерация обычно с единицы, но и те проблемы летоисчисления. И нельзя от этих проблем просто отмахнуться: "легаси". Посмотри, как человечество спустя полторы тыщи лет после создания христианского летоисчисления справляется с нумерацией этажей в лифтах. Например, так: -2, -1, *L, 2, 3, 5, ... 12, 15, 16. Лифт без 4, 13, 14 этажей (суеверия), со входом на *L этаже (да хоть на 🐱) и с пропуском нуля (можно с нулём, заменим панель в течение недели). Это уже не легаси, это так люди устроены - наши нейронки хорошо справляются с такой нестрогостью и люди хотят, чтобы было красиво/суеверно/как получится[b]. С нулевым этажом иногда неплохо получается. Причём его не пытаются называть "этажом по смещению ноль".
---
[a] Эти предпочтения (opinionated software) вообще зачастую генерируют проблемы и выглядят как детские травмы. Почему нет комментариев в JSON? Потому что если споткнёшься об отсутствие комментариев, ты в поисках объяснения прочитаешь послание от автора JSON. А иначе бы не прочитал. Почему автор Lua говорит, что это изначально язык-клей для Си[c], но сделал индексы с единицы? Потому что.
[b] Ещё вот дискета на 1.44 МБ - это красиво. Не важно, что она не 1.44 МБ и не 1.44 МиБ. Apple в 2009 стала использовать десятичные приставки для объёма накопителей. Чтобы соблюдать стандарты вроде СИ? Наоборот, чтобы было красиво (круглые числа красивее), хоть и хуже (последовательное отклонение от стандарта лучше непоследовательного: объём памяти они считают по-старому, а слово гибибайт им уже некрасивое).
[c] https://www.lua.org/pil/p1.html#:~:text=Lua%20was%...