Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Индексация массивов 
:(
    Опции темы
SelenIT
Дата 28.12.2010, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 5
Всего: 401



Иногда нумерация с нуля всё же выносит мозг. Например, месяцы в JS-ном Date. Везде, скажем, декабрь — 12-й: что в русском формате даты, что в американском, что в SQL-ном., даже в PHP он идет 12-м (если считать с нулября, как обычно;). Почему ж в JS он 11-й? Притом что дни нумеруются как надо привычно... smile

Цитата(Kefir @  27.12.2010,  22:46 Найти цитируемый пост)
Хотя нет. Вот вы представьте, перейдём мы все (Java, C++, C# etc.) на единицу в этом вопросе...

...и так по цепочке до самого ООН... и удивимся очередному блестящему предсказанию smile


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
LSD
Дата 29.12.2010, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15717
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 537



Нумерация с нуля тяжкое наследие Си. И все прогрессивное программистское сообщество должно бороться с этим пережитком царизма! smile 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
mimik
Дата 29.12.2010, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(Kefir @  27.12.2010,  22:46 Найти цитируемый пост)
С нуля надо начинать и не пудрите другим мозги.

не вижу аргументов

Цитата(Kefir @  27.12.2010,  22:46 Найти цитируемый пост)
Это ж легче застрелиться, если на индексацию с единицы перейти. У меня в каждом цикле ошибки будут.

от i = i + 1 к ++i как-то ж перешли, нет?

Цитата(Kefir @  27.12.2010,  22:46 Найти цитируемый пост)
У меня в каждом цикле ошибки будут. То есть я к тому, что ноль - это традиция, привычка, обычай - как угодно называйте.

хорошие аргументы, ага  smile 
Цитата(Kefir @  27.12.2010,  22:46 Найти цитируемый пост)
А на единицу не переходят ибо просто незачем. Вот вам красоты хочется, а смысла от такого перехода - пшик.

вы на асме кодируете?
PM   Вверх
Kefir
Дата 29.12.2010, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 4
Всего: 87



Цитата(mimik @  29.12.2010,  19:18 Найти цитируемый пост)
от i = i + 1 к ++i как-то ж перешли, нет?

Конечно перешли. Толку от этого - удобнее на плавиатуре набирать, не более.
(оффтопик) хотя мне больше нравится i += 1;  smile 


Цитата(mimik @  29.12.2010,  19:18 Найти цитируемый пост)
не вижу аргументов

Цитата(mimik @  29.12.2010,  19:18 Найти цитируемый пост)
хорошие аргументы, ага

У меня аргументы просты - если нет разницы, то смысла переходить нет. И если в случае с ++ можно было пользоваться старыми методами (i = i + 1), то в случае с индексом надо будет переучиваться. Это и есть мой аргумент - я не вижу никакого смысла менять ноль на единицу и пытаться к этому привыкнуть пока в этом нет никакого смысла. И дело не в том, что переучиваться сложно, а в том, что НЕ переучиваться в бесконечность раз проще.

Добавлено @ 21:38
Цитата(mimik @  29.12.2010,  19:18 Найти цитируемый пост)
вы на асме кодируете? 

Я на шарпе кодирую. И разработчики шарпа вместо бреда типа перехода с нулей на единицу добавляют туда реально вкусный сахар (var, await, async etc.). И полагаю, что разрабы других ЯП тоже стремятся сделать что-нибудь полезное  smile 

Это сообщение отредактировал(а) Kefir - 29.12.2010, 21:39
PM MAIL WWW Skype   Вверх
bems
Дата 1.1.2011, 21:04 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 0
Всего: 88



Странная постановка вопроса. Как по мне так сравнивать принудительную индексацию с нуля и принудительной индексацией с единицы нет вообще никакого смысла (ну с нуля предпочтительней, потому что традиция). ТС почему-то не задумывается о массивах с произвольным типом и множеством индексов


--------------------
Обижено школьников: 8
PM MAIL   Вверх
GrayCardinal
Дата 11.1.2011, 19:07 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



В массивах в квадратных скобках просто пишут не адрес а _смещение_. Всего делов.


--------------------
PM MAIL WWW   Вверх
mimik
Дата 12.1.2011, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(bems @  1.1.2011,  21:04 Найти цитируемый пост)
ТС почему-то не задумывается о массивах с произвольным типом и множеством индексов

Цитата(GrayCardinal @  11.1.2011,  19:07 Найти цитируемый пост)
В массивах в квадратных скобках просто пишут не адрес а _смещение_.

 smile 

Цитата(GrayCardinal @  11.1.2011,  19:07 Найти цитируемый пост)
В массивах в квадратных скобках просто пишут не адрес а _смещение_

а если а языке нет указателей, то смещение как-то не логично, не?
Цитата(bems @  1.1.2011,  21:04 Найти цитируемый пост)
ТС почему-то не задумывается о массивах с произвольным типом и множеством индексов

и что тут не сходится?
PM   Вверх
bems
Дата 12.1.2011, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 0
Всего: 88



Что не сходится?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
mimik
Дата 12.1.2011, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(bems @  1.1.2011,  21:04 Найти цитируемый пост)
ТС почему-то не задумывается о массивах с произвольным типом и множеством индексов

т.е. если массив начинается с 1, то о массивах с произвольным типом и множеством индексов задумывается не надо, а если с 0 то надо
вот и не сходится
PM   Вверх
bems
Дата 12.1.2011, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 0
Всего: 88



Оооой блин. Нет.
Массив должен начинаться чем захочется тому кто его объявляет, а не автору языка.


--------------------
Обижено школьников: 8
PM MAIL   Вверх
mimik
Дата 12.1.2011, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 1.11.2010

Репутация: нет
Всего: 2



Цитата(bems @  12.1.2011,  18:04 Найти цитируемый пост)
Массив должен начинаться чем захочется тому кто его объявляет, а не автору языка.

т.е. я всегда должен указывать и индексы и элементы?
PM   Вверх
bems
Дата 12.1.2011, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 0
Всего: 88



mimik, ты всегда указываешь размерность. Ничего не мешает указыввать при этом и стартовый индекс.


--------------------
Обижено школьников: 8
PM MAIL   Вверх
mes
Дата 12.1.2011, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(bems @  12.1.2011,  21:07 Найти цитируемый пост)
ты всегда указываешь размерность. Ничего не мешает указыввать при этом и стартовый индекс. 


не знаю приводили ли уже это: 
http://www.ict.edu.ru/ft/004781/m2_obe.pdf
Цитата

Более того,  нижняя граница индексов
теперь строго равна 0 и в описании массива фигурирует только количество элементов, а не пара
значений,  определяющих границы индексов.  Этот отход от уже устоявшейся традиции, 
восходящей своими корнями еще к языку Algol-60, наглядно демонстрирует принцип удаления из
языка всего несущественного.  Спецификация произвольной нижней границы вряд ли придает
языку дополнительную выразительную силу. В то же время это является скорее ограниченным
видом отображения индексов, которое ведет к скрытым вычислениям, несравнимым с удобством
использования. Скрытые накладные расходы проступают особенно сильно при проверке границ и
при работе с динамическими массивами. 

ну как тут спорить, если сам Никлаус Вирт, поклонник и прародитель всего человеку-удобного,  в своем стремлении довести Оберон до идеала, проголосовал за нуль в качестве нижней границы диапазона индексов массива.. 



--------------------
PM MAIL WWW   Вверх
Фантом
Дата 12.1.2011, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(mes @  12.1.2011,  22:55 Найти цитируемый пост)

ну как тут спорить, если сам Никлаус Вирт, в своем стремлении довести Оберон до идеала, проголосовал за нуль в качестве нижней границы диапазона индексов массива.. 

И тем не менее во многих случаях это чрезвычайно неудобно. Хотя язык и его компиляцию, конечно, упрощает.
PM   Вверх
bems
Дата 13.1.2011, 00:07 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 0
Всего: 88



Цитата(mes @  12.1.2011,  22:55 Найти цитируемый пост)
ну как тут спорить
А вот так. Он в маразм мог спасть. Это ничего не означает.



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0934 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.