Pull to refresh

Индексация массивов (портал в ад).

Как известно, иногда массивы индексируют с нуля, а иногда с единицы, и это часто вызывает споры.

На самом деле, тут можно выделить шесть разных видов языков программирования:

  1. Массивы индексируются с 0.

  2. Массивы индексируются с 1.

  3. Массивы индексируются с 0, но можно указать другое начало.

  4. Массивы индексируются с 1, но можно указать другое начало.

  5. Массивы индексируются только с явно указанного начала.

  6. Массивов в языке нет.

Языков явно выраженного типа (3) мне сходу не удаётся припомнить (хотя в Delphi и C++ есть некоторые движения в этом направлении), а в остальном известные мне языки довольно равномерно распределены между типами.

Нумерация с 0 упрощает индексную арифметику.

Нумерация с 1 соответствует естественному натуральному счёту и математической нотации.

В связи с этим, к нумерации с 1 тяготеют в основном языки для вычислительного применения (Фортран, Матлаб, Джулия). Страшно представить, сколько проклятий получили авторы NumPy от людей, переводящих алгоритмы с Фортрана.

Tags:
Total votes 2: ↑1 and ↓10
Comments14

Articles