The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск nginx 1.17.9 и njs 0.3.9"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для сортировки сообщений в нити по дате нажмите "Сортировка по времени, UBB".
. "Выпуск nginx 1.17.9 и njs 0.3.9" +/
Сообщение от Аноним (-), 10-Мрт-20, 01:25 
> Это все очень интересно, но на причину "почему индексация  массивов с
> 0 - более труЪ" не тянет от слова "совсем".

Довольно криво считать адреса с нуля а массивы с единицы. Например, в сях отличия массивов от просто указателей ... по сути номинальные.

Поэтому, вы только подумайте, в сях можно сходить по конкретному адресу в памяти. И даже при желании рассмотреть это как массив. И это абсолютно нормально для работы с современными железками и проч, которые вывешивают свои регистры как регионы в памяти.

Вам не кажется что будет по идиотски, если мы хотим начиная с адреса 0 поработать, но референсить в виде массива будем уже как 1? Это немедленно гарантирует легион "off by one" errors во всей системщине, как будто их без этого мало. И более того - есть еще такая веселая штука как alignment и пожелания железяк к оному. Вебмакак такими словами, конечно, не пугают, показывая им фильдеперсовые абстракции. Но эти абстракции кто-то должен сделать. И вот им совершенно не удобно все время влетать мордой в off by one error'ы на этой почве, равно как и большие проблемы с чет/нечет и вообще alignment.

Вплоть до того что хардварно шина может оперировать сразу эн байтами за присест, клав на несколько младших битов адреса болт. Некоторые процы за потуги несуществующие биты шины юзать вообще хардварным эксепшном (alignment error) по морде могут больно дать. Это, конечно, неудобно, но ряд процов этим грешил и назад в фабы их не затолкаешь.

> спорить с анонимом по поводу "Может, потому что память начинается с
> адреса 0?" в качестве аргумента "нулевой индексации" не вижу смысла.

А почему, собственно, адресация одного того же по указателю и массивом должна работать вот настолько по разному? Чтобы больше off by one было?

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск nginx 1.17.9 и njs 0.3.9, opennews, 04-Мрт-20, 09:34  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру