Почему в большинстве языков индекс массива начинается с нуля?
В Си массив — это указатель, индекс указывал смещение относительно начала массива.
Ты мог обратиться к элементу несколькими способами. через [], через *(pointer + 2) (не уверен, что правильно написал). Твой код был завязан на то, как массив хранится в памяти
Думаю, остальные языки просто продолжили традицию.
в PL/SQL и Паскале индекс начинается с 1, и всё нормально. В Перле по умолчанию ноль, но можно поменять, хоть на 2.
Думаю нет какой-то специальной причины, почему 0 во многих языках, где тебе похрен на то, как массив хранится в памяти. В других языках у тебя есть некая абстракция «массив», и ты не знаешь, как элементы хранятся в памяти: рядом, не рядом, а обращение к элементу массиву всегда происходит через операцию [] и никак иначе.
В Си массив — это указатель, индекс указывал смещение относительно начала массива.
Ты мог обратиться к элементу несколькими способами. через [], через *(pointer + 2) (не уверен, что правильно написал). Твой код был завязан на то, как массив хранится в памяти
Думаю, остальные языки просто продолжили традицию.
в PL/SQL и Паскале индекс начинается с 1, и всё нормально. В Перле по умолчанию ноль, но можно поменять, хоть на 2.
Думаю нет какой-то специальной причины, почему 0 во многих языках, где тебе похрен на то, как массив хранится в памяти. В других языках у тебя есть некая абстракция «массив», и ты не знаешь, как элементы хранятся в памяти: рядом, не рядом, а обращение к элементу массиву всегда происходит через операцию [] и никак иначе.
Вот тебе и опыт.
сам Дуглас Крокфорд говорит, что просто не юзайте ==
В js лучше использовать === а не ==
PHP: PHP_FLOAT_MIN
C#: Double.MinValue