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

Поиск:

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


не Rohoss Я
*


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

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



Не могу понять почему в ЯП так популярна индексация массивов с нуля, ведь это как-то не логично, да и преимуществ вроде нет.

 smile 
PM   Вверх
FadilMamedov
Дата 7.11.2010, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Видимо сказывается традиция...
PM MAIL   Вверх
bilbobagginz
Дата 7.11.2010, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 6
Всего: 317



mimik, ваше предложение не содержит вопрос.
и не понятно пример чего вы хотите: яп индексуюзего с 0 или с 1 или вообще объяснения почему это так.
можете пояснить ?
 


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
mimik
Дата 7.11.2010, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


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

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



Цитата(bilbobagginz @  7.11.2010,  18:51 Найти цитируемый пост)
mimik, ваше предложение не содержит вопрос.и не понятно пример чего вы хотите: яп индексуюзего с 0 или с 1 или вообще объяснения почему это так.можете пояснить ?

по моему логичней начинать индексацию массивов с 1, 
первый элемент - индекс 1

Добавлено через 4 минуты и 29 секунд
Цитата(bilbobagginz @  7.11.2010,  18:51 Найти цитируемый пост)
вообще объяснения почему это так

 smile 
PM   Вверх
A5uKa
  Дата 8.11.2010, 15:02 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

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



ну положительные числа с нуля начинаются.
PM   Вверх
baldina
Дата 8.11.2010, 15:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



а это вот почему:
предположим, по адресу памяти A расположен массив.
тогда адрес первой ячейки это А, адрес второй - A+1, адрес i-й - A+i
представляя в форме доступа к элементу массива по индексу получаем
A[0], A[1]...A[i]

PM MAIL   Вверх
bars80080
Дата 8.11.2010, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 3
Всего: 315



Цитата(A5uKa @  8.11.2010,  14:02 Найти цитируемый пост)
ну положительные числа с нуля начинаются. 

ноль не является ни положительным, ни отрицательным числом


Цитата(mimik @  7.11.2010,  17:56 Найти цитируемый пост)
по моему логичней начинать индексацию массивов с 1, 
первый элемент - индекс 1

это по-человечески логично, однако, говоря о ЯП надо принимать машинную логику. что такое массив? по сути, это регистр, где каждый физический элемент памяти содержит элемент массива. а элементы эти выстроены по порядку. наглядно по наиболее простым ЯП виден этот момент, так как среди функций работы с массивами могут отсутствовать многие, но функции pop() и push() будут всегда. эти функции дословно означают - положить элемент в массив или забрать. при этом массив растёт, либо уменьшается. чистое поведение регистров.

а в какой позиции регистра надо быть, чтобы получить первый элемент массива? конечно, в позиции ноль, ведь мы в него ещё не вошли. чтобы добраться до второго элемента - надо передвинуть считывающую головку на одну [1] позицию вглубь.

всё очень даже логично. сделать конвертор из системы 1,2,3... в систему 0,1,2... конечно не сложно, но когда мы говорим о машинной логике, то эффективность выходит на первое место.
PM MAIL WWW   Вверх
mimik
Дата 8.11.2010, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


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

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



и всё-таки аргументы в пользу индексации массивов с 0, имхо, я не услышал

Цитата(bars80080 @  8.11.2010,  15:17 Найти цитируемый пост)
это по-человечески логично

 smile 

Цитата(bars80080 @  8.11.2010,  15:17 Найти цитируемый пост)
сделать конвертор из системы 1,2,3... в систему 0,1,2... конечно не сложно, но когда мы говорим о машинной логике, то эффективность выходит на первое место.

нет, это задача компилятора, я пишу array[2], а компилятор сам сделает array[1]


Это сообщение отредактировал(а) mimik - 8.11.2010, 18:54
PM   Вверх
bilbobagginz
  Дата 8.11.2010, 19:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 6
Всего: 317



mimik
термин массив существует не только для языков высокаго уровня как Lisp/Java и т.д., но и для языков такого низкаго уровня как ассембли.
для того, чтобы не пояснять людям, изучающим информатику, что у одного языка индексация с 1 а у другого - 0, довольно умное решение вопроса - определить что такое массив концептуально, т.е. эстетическая причина.

Кроме того, в языках, работающих с памятью (без автоматических освободитлей мусора и т.д.), частенько удобно "шагать" через адреса посредством так называемой "арифметики указателей". Если бы первый элемент массива "A" был обозначен как "A+1" это намного некрасивее. (т.е. причина комфортабельности) 
С другой стороны можно было бы создать синтаксис, что если ты уже используешь арифметику указателей, т.е. разделитсь семантику A[i] от *(A+i), то нередко пришлось бы делать и без того уродливый синтаксис еще менее читабельным.
т.е. для единства подходов напр. в языке Си имеет смысл сделать и ту и другую нотации похожими (опять же, эстетика) 

Третья причина образовательная: инженер разработчик не "просто человек", а должен помнить об адресации памяти компьютера.
даже если он работает на языках высокаго уровня, ибо нефиг.




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
mimik
Дата 8.11.2010, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


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

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



Цитата(bilbobagginz @  8.11.2010,  19:24 Найти цитируемый пост)
для того, чтобы не пояснять людям, изучающим информатику, что у одного языка индексация с 1 а у другого - 0

а сейчас разве не так?
открываю почти любую книгу и читаю что-то типо такого: помните что индексация массивов начинается с нуля

Цитата(bilbobagginz @  8.11.2010,  19:24 Найти цитируемый пост)
Третья причина образовательная: инженер разработчик не "просто человек", а должен помнить об адресации памяти компьютера

имхо, никак не связано


имхо, массивы это одно, а работа с памятью другое, хотя в некоторых языках это эквивалентно, что не есть гуд
PM   Вверх
baldina
Дата 8.11.2010, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



mimik, Вам уже описали и преимущества, и логику. Повторюсь:
преимущества. не надо делать лишних усилий компилятору (да и программисту), переходя от обывательского понимания "первый" к математическому. меньше преобразований -> проще -> надежнее
логика. зависит от взгляда на массив и индексацию. если рассматривать индекс как смещение, то использовать ноль для индекса первого элемента логичнее, чем единицу.

Вы просто не привыкли. Операции вроде += в С/С++ тоже поначалу вызывают недоумение, неудобство, излишнее напряжение мысли. А когда втягиваешься, напрягать начинает a = a + b
Привыкнете, человек ко всему привыкает ;-)
PM MAIL   Вверх
mimik
Дата 8.11.2010, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


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

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



Цитата(baldina @  8.11.2010,  20:26 Найти цитируемый пост)
mimik, Вам уже описали и преимущества, и логику

почему это так работает я понял, а преимущества я не увидел

Цитата(baldina @  8.11.2010,  20:26 Найти цитируемый пост)
не надо делать лишних усилий компилятору

(index - 1) вроде ничего сложного

я уже привык к этому синтаксису, но хочется писать для людей, а не для компилятора  smile 


Это сообщение отредактировал(а) mimik - 8.11.2010, 20:38
PM   Вверх
bilbobagginz
Дата 8.11.2010, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 6
Всего: 317



Цитата(mimik @  8.11.2010,  19:11 Найти цитируемый пост)
имхо, массивы это одно, а работа с памятью другое, хотя в некоторых языках это эквивалентно, что не есть гуд 

если вам это настолько мешает, и считаете что это имеет смысл, напишите свой ЯП, свой компилятор и отладчик.
А потом посмотрите как хорошо он "пойдет", если пойдет - флаг в руки, респект, и т.д.

Удачи.




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Фантом
Дата 8.11.2010, 23:05 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Вообще-то в нормальных языках, в которых есть массивы, индексация может начинаться откуда угодно, более того, индекс нередко вообще может быть и не целым числом.  smile 

Фиксированное начало индексации есть в тех языках, где есть не столько массивы, сколько области памяти с указателями на них. Там - именно из-за адресной арифметики - действительно проще начинать с нуля.
PM   Вверх
skyboy
Дата 9.11.2010, 00:46 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(Фантом @  8.11.2010,  22:05 Найти цитируемый пост)
индекс нередко вообще может быть и не целым числом

мы по-прежнему говорим о массивах? Или о мапах/хешах/гридах с синтаксисом таким же, как и у массивов?
Цитата(mimik @  8.11.2010,  19:35 Найти цитируемый пост)
а преимущества я не увидел

преимуществ чего? одной записи над другой?
я вот не вижу преимуществ использования знака "+" для операции сложения. 
нашел, в чем искать просто оптимизации.
я понимаю ещё - протестовать против неопределенностей вроде "++n++". 
забудь, прими как данность.
в Pascal/Delphi - вон с единицы нумерация. 
PM MAIL   Вверх
Фантом
Дата 9.11.2010, 01:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(skyboy @  9.11.2010,  00:46 Найти цитируемый пост)

мы по-прежнему говорим о массивах? Или о мапах/хешах/гридах с синтаксисом таким же, как и у массивов?

Именно о массивах. Для этого вполне достаточно, чтобы между индексом массива и некоторым конечным набором целочисленных значений существовала биекция, устанавливаемая на этапе компиляции.  smile 
PM   Вверх
SelenIT
Дата 11.11.2010, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



А кстати, вроде ж в каком-то дремучем бейсике можно было явно указывать OPTION BASE - и пиши после как себе удобнее. В самом деле, почему от этого отказались?


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


Эксперт
****


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

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



Цитата(SelenIT @  11.11.2010,  16:54 Найти цитируемый пост)
в каком-то дремучем бейсике можно было явно указывать OPTION BASE - и пиши после как себе удобнее. В самом деле, почему от этого отказались?

никто не отказывался. во многих языках есть (хотя бы на уровне библиотек) возможность работать с массивами, указывая Ubound/Lbound

Добавлено @ 18:12
Цитата(SelenIT @  11.11.2010,  16:54 Найти цитируемый пост)
и пиши после как себе удобнее

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

Это сообщение отредактировал(а) baldina - 11.11.2010, 18:12
PM MAIL   Вверх
baldina
Дата 11.11.2010, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



понимаю, подсознательно 0 не хочется за число признавать, и считаем мы от одного. недаром даже такие великие умы как пифагор и декарт ноль (да и отрицательные числа тоже) за число не признавали.
конечно, ведь с точки зрения "здравого смысла" ноль это пустота, ничто. 
его особое положение понятно с точки зрения алгебры: ноль является специальным элементом множества. но таки элементом множества (т.е. числом), а не отдельным объектом. и именно свойство a+0=a и дает нам удобство начинать счет от 0. это если смотреть на операции с массивами с точки зрения машинной арифметики, арифметики указателей и алгебры.

Добавлено через 1 минуту и 17 секунд
с обывательской удобнее "адын два тры", но программы пишут программисты  smile 
PM MAIL   Вверх
mes
Дата 21.11.2010, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(mimik @  8.11.2010,  19:35 Найти цитируемый пост)

я уже привык к этому синтаксису, но хочется писать для людей, а не для компилятора

Цитата(baldina @  11.11.2010,  17:26 Найти цитируемый пост)
с обывательской удобнее "адын два тры"


а с какого года начался первый век ? а компьютеров тогда еще не было   smile 



Это сообщение отредактировал(а) mes - 21.11.2010, 21:51


--------------------
PM MAIL WWW   Вверх
LSD
Дата 21.11.2010, 22:30 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Цитата(A5uKa @  8.11.2010,  16:02 Найти цитируемый пост)
ну положительные числа с нуля начинаются.

И давно?


--------------------
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
Дата 21.11.2010, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


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

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



Цитата(mes @  21.11.2010,  21:51 Найти цитируемый пост)
а с какого года начался первый век ?

а при чем тут это?

да, что и начинается с нуля, например год, но только потому что он может быть а может и не быть(т.е. 0)
интересно а нулевой век есть?

имхо, не быавет массив без элемента
PM   Вверх
bars80080
Дата 21.11.2010, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 3
Всего: 315



Цитата(mimik @  21.11.2010,  21:47 Найти цитируемый пост)
интересно а нулевой век есть?

нет



Цитата(mimik @  21.11.2010,  21:47 Найти цитируемый пост)
имхо, не быавет массив без элемента 

пожалуйста
Код

$a = array();

нет элементов. и даже count() покажет 0
PM MAIL WWW   Вверх
mimik
Дата 21.11.2010, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


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

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



Цитата(bars80080 @  21.11.2010,  22:51 Найти цитируемый пост)
нет элементов. и даже count() покажет 0

имхо, это только определение типа

Код

if (array() == null) echo  'aha';

 smile 
PM   Вверх
gcc
Дата 22.11.2010, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

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



Код

use Data::Dumper;

my $array = [[],666]; 

print Dumper $array->[0];
print "\n".Dumper $array;
print ref $array->[0];
print "\n\n".$array->[0];

my @a = qw();
print "\n\n".Dumper \@a;


вывело:
Код

./perll.pl

$VAR1 = [];

$VAR1 = [
          [],
          666
        ];
ARRAY

ARRAY(0x810017c)

$VAR1 = [];



ARRAY(0x810017c) - пустой массив, ссылка на массив  smile 



Это сообщение отредактировал(а) gcc - 22.11.2010, 02:48
PM WWW ICQ Skype GTalk Jabber   Вверх
SelenIT
Дата 22.11.2010, 03:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(mes @  21.11.2010,  21:51 Найти цитируемый пост)
а с какого года начался первый век ?

С первого, судя по всему...  smile 


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


Эксперт
****


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

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



первый год, второй год...
сейчас 2010. сколько лет от РХ пройдет, когда он закончится (и начнется 2011)? правильно, 2010.
при i=0 мы обрабатываем первый элемент массива.
когда он будет обработан (цикл перейдет к следующему шагу) будет обработан один элемент, i будет равно 1.

Добавлено через 3 минуты и 49 секунд
все от подхода зависит, от определения. если считать индекс массива синонимом смещения от начала (что в некоторых языках таковым является по определению), никаких сомнений и неудобств не будет

Добавлено через 5 минут и 50 секунд
Цитата(mimik @  21.11.2010,  22:47 Найти цитируемый пост)
имхо, не быавет массив без элемента

эт только ийхо. пустой карман бывает? а пустое множество? а пустой список, дерево?
PM MAIL   Вверх
mimik
Дата 22.11.2010, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


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

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



Цитата(baldina @  22.11.2010,  09:32 Найти цитируемый пост)
а пустое множество? а пустой список, дерево?

это ∅ т.е. null/nil
я хотел сказать что если нет элементов то это пустое множество а не массив

Цитата(baldina @  22.11.2010,  09:32 Найти цитируемый пост)
пустой карман бывает?

нулевой карман бывает?
PM   Вверх
bars80080
Дата 22.11.2010, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 3
Всего: 315



Цитата(mimik @  22.11.2010,  13:07 Найти цитируемый пост)
это ∅

причём здесь диаметр?


Цитата(mimik @  22.11.2010,  13:07 Найти цитируемый пост)
 хотел сказать что если нет элементов то это пустое множество а не массив

а если есть элементы, то почему это массив, а не заполненное множество?
PM MAIL WWW   Вверх
Kefir
Дата 27.12.2010, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


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

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



С нуля надо начинать и не пудрите другим мозги. Это ж легче застрелиться, если на индексацию с единицы перейти. У меня в каждом цикле ошибки будут. То есть я к тому, что ноль - это традиция, привычка, обычай - как угодно называйте. А на единицу не переходят ибо просто незачем. Вот вам красоты хочется, а смысла от такого перехода - пшик.

Хотя нет. Вот вы представьте, перейдём мы все (Java, C++, C# etc.) на единицу в этом вопросе... вот подумайте только, как потом, лет через дцать мы будем трепать молодых программистов по макушке и по-доброму говорить: "Ех, молодёжь, не застали вы время, когда индексы с нуля начинались... Даааа, были временааа!". Потом на выбор можно затянуться трубкой или выпить глоточек виски...
PM MAIL WWW Skype   Вверх
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
****


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

Репутация: 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   Вверх
gcc
Дата 13.1.2011, 05:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

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



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

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

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

интересно, в каких случаях?

мощно выглядят массивы вместе с хэшами и наоборот, например, массивы-хэшей (список пар хэшей)
где массив - это просто набор значений, а хэши как индексы...

для работы над элементами массивов, есть разные операторы: cross-, hyper-, reduce-, meta-operators
(где индексация не важна...)

Это сообщение отредактировал(а) gcc - 13.1.2011, 06:00
PM WWW ICQ Skype GTalk Jabber   Вверх
mimik
Дата 13.1.2011, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не Rohoss Я
*


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

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



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

это не очень удобно, ведь массив мы можем получить и из функций, или надо перед использованием надо смотреть на объявление
Цитата(mes @  12.1.2011,  22:55 Найти цитируемый пост)
ну как тут спорить, если сам Никлаус Вирт, поклонник и прародитель всего человеку-удобного,  в своем стремлении довести Оберон до идеала, проголосовал за нуль в качестве нижней границы диапазона индексов массива.. 

к его мнению я прислушиваюсь, но не более
Цитата(bems @  12.1.2011,  22:07 Найти цитируемый пост)
mimik, ты всегда указываешь размерность

Код

a = [2, 4, 6, 1, 7, 9]


Это сообщение отредактировал(а) mimik - 13.1.2011, 12:52
PM   Вверх
Фантом
Дата 13.1.2011, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(gcc @  13.1.2011,  05:44 Найти цитируемый пост)
интересно, в каких случаях?

Ну, лично для меня это вычислительные задачи, в которых индексация может быть достаточно причудливой, а ее смещение - громадной работой, чреватой ошибками.
PM   Вверх
baldina
Дата 13.1.2011, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



если
a[b] === *(a+b) === *(b+a) === b[a],
то алгебраически мы должны иметь моноид. для данной структуры операцией является операция сложения указателя с числом, а единицей - 0
поэтому индексация должна вестись с 0.

индексация с другого числа - частный случай этого, формально мы работаем со срезами
другая точка зрения - индексом мы задаем систему отсчета. тогда 0 нравится любителям локальных координат, а прочие индексы - любителям глобальных

как говорит А.Степанов, "depends on the definition"  smile 

PM MAIL   Вверх
Romper
Дата 21.1.2015, 13:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

Если подумать, это совсем не естественно. Нужно постоянно держать в памяти этот −1. Почему, чтобы взять пятый элемент, я пишу arr[4]? Разве это удобно? Почему, если в списке 10 элементов, то взять десятый (arr[10]) — ошибка? Если беспокоитесь о производительности, храните указатель на начало массива−1.
PM MAIL   Вверх
Ilya81
Дата 21.1.2015, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 18.4.2014
Где: ЛО, Всеволожский р-н

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



Не исключаю, что неестественны нумерация с нуля, указания сначала адреса назначения, потом источника (функция CopyMemory), 1024 байта в килобайте и многое другое. Но неужели удаётся так прямо и думать об этом годами? Мне как-то всё это как-то стало привычным, и "неестественность" давным давно не замечаю.
PM MAIL ICQ Skype   Вверх
bems
Дата 22.1.2015, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Ilya81 @  21.1.2015,  16:27 Найти цитируемый пост)
указания сначала адреса назначения, потом источника (функция CopyMemory)

тот же порядок что в операторе присваивания



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


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 18.4.2014
Где: ЛО, Всеволожский р-н

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



Скорее это аналогия с
Код

MOV EBX, EAX

который повторяет структуру команды процессоров Intel. Но слышал, что в своё время были процессоры с противоположным порядком операндов. Да и в обычной речи мы скорее скажем из пункта A в пункт B, чем в пункт B из пункта A. Но подобные особенности современных процессоров для меня слишком привычны, чтоб замечать, что где-то присутствует такая неестественность.
PM MAIL ICQ Skype   Вверх
_zorn_
Дата 22.1.2015, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Ilya81 @  22.1.2015,  16:26 Найти цитируемый пост)
который повторяет структуру команды процессоров Intel. Но слышал, что в своё время были процессоры с противоположным порядком операндов.

Ну ёпта. Вы действительно думаете, что ПРОЦЕССОР видит команды в таком виде ? А АМД процессоры в каком виде команды видят ?  smile 
Открою для тебя страшную тайну. Процессоры видят команды в виде битов, а ассемблерные мнемоники как раз для людей.
И кстати есть еще AT&T-синтаксис и процессор тут совсем не причем.
А слышали вы скорей всего о порядке байтов. И это не "в свое время", а есть и сейчас (little/big endian). 
Процессоров много и они не только в вашем системном блоке...

А по части нумерации - при чем тут какие то оптимизации ? В си массив - это просто указатель на область памяти, индекс смещение. Хотите создавайте массивы с размером на 1 элемент больше и индексируйте с 1, кто вам запрещает ?
Все таки си это язык с самыми большими возможностями выстрелить себе в ногу smile

Это сообщение отредактировал(а) _zorn_ - 22.1.2015, 17:17
PM MAIL   Вверх
Ilya81
Дата 23.1.2015, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 18.4.2014
Где: ЛО, Всеволожский р-н

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



Цитата(_zorn_ @  22.1.2015,  17:08 Найти цитируемый пост)
Ну ёпта. Вы действительно думаете, что ПРОЦЕССОР видит команды в таком виде ? А АМД процессоры в каком виде команды видят ?

Ну если я ничего не путаю, то команды процессоров - префиксный битовый код, в котором после кода команды следуют операнды во вполне определённой последовательности. И в процессорах Intel, насколько знаю, в команде копирования данных идёт сначала код/адрес (в зависимости от того, это регистр процессора, RAM или ещё там что) адресата, потом код/адрес источника. Более того, насколько я знаю, в виду того, что коды команд тоже придумываются людьми, то разница между кодами команд и операндами условна, т. е. предопределённые команды для соседних регистров имеют похожий битовый код.

И ещё, насколько я знаю, хоть нынче структура самих логических элементов внутри кристалла не имеет полного дискретного аналога, всё ж сами триггеры расположены в определённой последовательности (как и конденсаторы RAM и прочее), поэтому можно вполне чётко сказать о порядке расположения битового кода внутри процессора.
Цитата(_zorn_ @  22.1.2015,  17:08 Найти цитируемый пост)
И это не "в свое время", а есть и сейчас (little/big endian). 
Процессоров много и они не только в вашем системном блоке...

Это вполне вероятно, я просто подразумевал доминирующие нынче процессоры. А Intel, насколько знаю, нынче не слабо потеснил конкурентов, притом и в desktop/серверах, и в мобильных устройствах, и много ещё где.

Цитата(_zorn_ @  22.1.2015,  17:08 Найти цитируемый пост)
А по части нумерации - при чем тут какие то оптимизации ? В си массив - это просто указатель на область памяти, индекс смещение. Хотите создавайте массивы с размером на 1 элемент больше и индексируйте с 1, кто вам запрещает ?
Все таки си это язык с самыми большими возможностями выстрелить себе в ногу 

Но в C# и Java вольностей поменьше будет. Про Objective-C/Swift сказать затрудняюсь.

Это сообщение отредактировал(а) Ilya81 - 23.1.2015, 10:04
PM MAIL ICQ Skype   Вверх
Romper
Дата 23.1.2015, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(_zorn_ @  22.1.2015,  17:08 Найти цитируемый пост)
В си массив - это просто указатель на область памяти

а что, кроме Си ЯП больше нет?

Цитата(_zorn_ @  22.1.2015,  17:08 Найти цитируемый пост)
Хотите создавайте массивы с размером на 1 элемент больше и индексируйте с 1

Цитата(Romper @  21.1.2015,  13:53 Найти цитируемый пост)
Если беспокоитесь о производительности, храните указатель на начало массива−1. 


PM MAIL   Вверх
_zorn_
Дата 25.1.2015, 05:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Ilya81 @  23.1.2015,  16:59 Найти цитируемый пост)
 А Intel, насколько знаю, нынче не слабо потеснил конкурентов, притом и в desktop/серверах, и в мобильных устройствах, и много ещё где.

Про RISC процессоры я думаю нету смысла вам говорить. Но AMD же ? У них что все по другому ? При чем тут интел ? Вы про архитектуру х86 сейчас говорите, а не про процессоры интел. Кстати 64 битную архитектуру первыми замутили АМД, и набор инструкций сейчас называются AMD64  smile

Еще раз - типов процессоров намного больше чем в вашем системном блоке...

Цитата(Ilya81 @  23.1.2015,  16:59 Найти цитируемый пост)
И ещё, насколько я знаю, хоть нынче структура самих логических элементов внутри кристалла не имеет полного дискретного аналога, всё ж сами триггеры расположены в определённой последовательности (как и конденсаторы RAM и прочее), поэтому можно вполне чётко сказать о порядке расположения битового кода внутри процессора.

Вы о чем сейчас вообще ? О том что у программистов конденсаторы в мозгу расположены так же как в процессоре ?  smile 

Цитата(Romper @  23.1.2015,  18:51 Найти цитируемый пост)
а что, кроме Си ЯП больше нет?

Есть, но большинство поглядывает на си хотя бы по синтаксису )
Ну и он самый кросплатформенный  smile 


Цитата(Romper @  23.1.2015,  18:51 Найти цитируемый пост)
Цитата(_zorn_ @  22.1.2015,  17:08 Найти цитируемый пост)
Хотите создавайте массивы с размером на 1 элемент больше и индексируйте с 1
Цитата(Romper @  21.1.2015,  13:53 Найти цитируемый пост)
Если беспокоитесь о производительности, храните указатель на начало массива−1. 

Мой вариант предпочтительней. В вашем еще лишние телодвижения придется делать типа
Код

TYPE var[10];
var -= sizeof(TYPE);

Да и чревато последствиями если ваш код будет потом кто то дописывать. Ваши привычки он не знает, и будет мусорить перед массивами )
А если вы еще макросов налепите, или стандартные переопределите, то вообще ужас...

Это сообщение отредактировал(а) _zorn_ - 25.1.2015, 06:21
PM MAIL   Вверх
bems
Дата 25.1.2015, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(_zorn_ @  25.1.2015,  05:52 Найти цитируемый пост)
Ну и он самый кросплатформенный

чо правда?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
ТоляМБА
Дата 25.1.2015, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


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

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



Цитата(_zorn_ @  25.1.2015,  07:52 Найти цитируемый пост)
 стандартные переопределите, то вообще ужас

Цитата
<******> к вопросу о вчерашних скриптостраданиях. Только что кодер знакомый прислал, нашёл в коде программы, написанной уволенным коллегой незадолго до ухода:
<******> #define TRUE FALSE //счастливой отладки суки
* ****** такого извращённого юмора ещё не встречал
 http://bash.im/quote/268036

PM   Вверх
_zorn_
Дата 26.1.2015, 04:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(bems @  25.1.2015,  22:22 Найти цитируемый пост)
чо правда? 

А чо нет ? Линупс например в какие устройства только не пихают...
PM MAIL   Вверх
Ilya81
Дата 26.1.2015, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 18.4.2014
Где: ЛО, Всеволожский р-н

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



Цитата(_zorn_ @  25.1.2015,  05:52 Найти цитируемый пост)
Вы о чем сейчас вообще ? О том что у программистов конденсаторы в мозгу расположены так же как в процессоре ?   

В области биологии я не знаток, а вот что касается устройства вычислительной техники - насколько знаю, RAM чаще всего основывается на конденсаторах, а вот cache-память разного уровня - на триггерах. Ибо хотя б гигабайт (а по нынешним временам это совсем мало) памяти на триггерах стоил б совершенно немыслимую сумму денег.

А ещё о том упомянул, что со времён первых Pentium'ов для дальнейшего повышения производительности процессоров придумали структуру самих логических элементов внутри кристалла, у которой не существует точного эквивалента в виде отдельных транзисторов, резисторов и диодов. Впрочем, всё это с той поры ещё не раз менялось, чтоб энергопотребление процессоров не становилось запредельным при частоте в несколько гигагерц.

Но при этом триггеры, регистры, сумматоры и прочее имеют вполне разделённую в пространстве структуру даже с учётом всех ухищрений по размещению их внутри кристалла.

Цитата(_zorn_ @  25.1.2015,  05:52 Найти цитируемый пост)
Кстати 64 битную архитектуру первыми замутили АМД, и набор инструкций сейчас называются AMD64  

Много что менялось с той поры, насколько знаю, Apple тоже стал использовать процессоры Intel позже. Да и тот ж x86 нынче в мобильных устройствах распространён куда больше, чем прежде. А пример про x86 я привёл от того, что 64-битные приложения я ни разу не писал на ассемблере и всех их особенностей не знаю.

Это сообщение отредактировал(а) Ilya81 - 26.1.2015, 09:34
PM MAIL ICQ Skype   Вверх
LSD
Дата 26.1.2015, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Цитата(bems @  25.1.2015,  16:22 Найти цитируемый пост)
чо правда?

Можешь назвать платформу для которой не существует компилятора Си?


--------------------
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   Вверх
Фантом
Дата 26.1.2015, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(LSD @  26.1.2015,  13:04 Найти цитируемый пост)

Можешь назвать платформу для которой не существует компилятора Си? 
 ENIAC подойдет?

PM   Вверх
baldina
Дата 26.1.2015, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



ENIAC убийца ЯП. перемычки наше всё. 
PM MAIL   Вверх
LSD
Дата 26.1.2015, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Цитата(Фантом @  26.1.2015,  16:23 Найти цитируемый пост)
ENIAC подойдет?

user posted image


--------------------
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   Вверх
ТоляМБА
Дата 26.1.2015, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


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

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



user posted image
PM   Вверх
baldina
Дата 26.1.2015, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



на каком языке пишут дефчонки?
user posted image

Добавлено через 47 секунд
им, счастливым, проблемы индексации массивов по барабану
PM MAIL   Вверх
_zorn_
Дата 27.1.2015, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Фантом @  26.1.2015,  22:23 Найти цитируемый пост)
ENIAC подойдет?

Я знаю круче платформу
user posted image
PM MAIL   Вверх
ТоляМБА
Дата 27.1.2015, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


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

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



Цитата(_zorn_ @  27.1.2015,  13:23 Найти цитируемый пост)
платформу

user posted image
PM   Вверх
LSD
Дата 27.1.2015, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Заканчивайте флуд, пока я вас в Аншлаг не отправил.


--------------------
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   Вверх
Bulat
Дата 28.1.2015, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Цитата(LSD @  26.1.2015,  12:04 Найти цитируемый пост)
Можешь назвать платформу для которой не существует компилятора Си? 

А как насчет ПЭВМ Агат??  smile 

Знаю точно на Агате можно было писать программы на бэйсике, а вот насчет С - точно не знаю!  smile 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
_zorn_
Дата 28.1.2015, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Bulat @  28.1.2015,  18:56 Найти цитируемый пост)
А как насчет ПЭВМ Агат??

Инфа с википедии... мопед не мой короче  smile 
Цитата
ОС: вариации Apple DOS 3.3

Признаться немножко попотел нажимая на мышку smile
Но нашел http://en.wikipedia.org/wiki/Aztec_C
PM MAIL   Вверх
Bulat
Дата 28.1.2015, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Цитата(_zorn_ @  28.1.2015,  21:42 Найти цитируемый пост)
Инфа с википедии... мопед не мой короче  


Ну это еще бабушка на двое сказала! Первые версии Агата действительно использовали в качестве ПО переработанное яблочное! Но Агат поступивший в массовое производство имел ОС Школьница, написанный кстати на Рапире, был Бейсик. А вот был ли на нем хоть какая-то версия Си. А первые версии Агата это как раз из разряда ENIAC.  smile

Добавлено через 4 минуты и 32 секунды
http://deka18.tsk.ru/er/agat/Apps/Language.shtml - кстати вот здесь тоже пишут что был.... блин, но никаких архивов, никакого софта - на нем написанном не встречается и упоминание разве что в документах.

Добавлено через 5 минут и 9 секунд
Цитата(Bulat @  28.1.2015,  11:56 Найти цитируемый пост)
насчет С - точно не знаю!
  smile  smile 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
baldina
Дата 29.1.2015, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Bulat @  28.1.2015,  22:35 Найти цитируемый пост)
первые версии Агата это как раз из разряда ENIAC

ENIAC
Тактовая частота — 100 кГц
Вычислительная мощность — 357 операций умножения или 5000 операций сложения в секунду.
Объём памяти — 20 число-слов.
Потребляемая мощность — 174 кВт.
Вес — 27 тонн.
ЯП - двоичный десятичный код (задаваемый перемычками)

Агат
Тактовая частота — 1 МГц
Вычислительная мощность — 500 тыс. оп./с
Объем памяти — ПЗУ 2 КБ, ОЗУ 64—128 КБ 
Потребляемая мощность — 60 Вт.
Вес — 9 кг
ЯП — Ассемблер, BASIC, РАПИРА (а на Apple II ставились и Pascal, Лого. Под CP/M, который мог работать на Apple II при наличии платы расширения, были компиляторы Fortran и С)

для сравнения
Samsung Galaxy S5
Тактовая частота — 2.1 ГГц 
Вычислительная мощность — 1.57 DMIPS/MHz (без учета доп. свойств процессора и спец. процессоров)
Объем памяти — ОЗУ 2Гб, Flash 16/32 Гб
Вес — 145 г

Добавлено @ 14:36
http://deka18.tsk.ru/er/agat/Apps/C.shtml
smile

Это сообщение отредактировал(а) baldina - 29.1.2015, 14:51
PM MAIL   Вверх
Bulat
Дата 29.1.2015, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Цитата(baldina @  29.1.2015,  14:34 Найти цитируемый пост)
Агат
Тактовая частота — 1 МГц
Вычислительная мощность — 500 тыс. оп./с
Объем памяти — ПЗУ 2 КБ, ОЗУ 64—128 КБ 
Потребляемая мощность — 60 Вт.
Вес — 9 кг
ЯП — Ассемблер, BASIC, РАПИРА (а на Apple II ставились и Pascal, Лого. Под CP/M, который мог работать на Apple II при наличии платы расширения, были компиляторы Fortran и С)

Это ты описываешь последние версии Агата(7-9), которые поступали уже в массовое производство! Но существовала еще версия Агат-4, выпущенная в небольшом количестве, но так и не поступившая в серийное производство, и ее характеристики были хуже того, что ты написал. Точно не знаю, это надо смотреть из архивных документов. А про версии Агат 1-2 и т.п. вообще молчу, про них никакой инфы уже не сохранилось!


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
baldina
Дата 29.1.2015, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Агат-4 не содержал НГМД и памяти поменьше было. не говоря уж про "качество сборки" (это не серийный образец, а у нас и серийные часто выглядели как пионерское поделие). Агат 1-3 не существовали, по крайней мере как готовые к употреблению образцы.
PM MAIL   Вверх
Bulat
Дата 30.1.2015, 07:09 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Цитата(baldina @  29.1.2015,  21:55 Найти цитируемый пост)
Агат 1-3 не существовали, по крайней мере как готовые к употреблению образцы. 

Игра слов....... Агат 1-3 существовали, но это что-то из разряда ENIAC. Просто в силу сложившейся тенденции, отечественной культурой интересуемся гораздо меньше, чем западной. А интересовались бы больше - глядишь и инфы было бы больше!  smile 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
baldina
Дата 30.1.2015, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



во времена ENIAC были МЭСМ, потом БЭСМ. характеристики похожи.

Цитата(Bulat @  30.1.2015,  07:09 Найти цитируемый пост)
отечественной культурой интересуемся гораздо меньше, чем западной

Bulat, так поинтересуйся
история 12 etc
список

PM MAIL   Вверх
Bulat
Дата 30.1.2015, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Цитата(baldina @  30.1.2015,  14:20 Найти цитируемый пост)
во времена ENIAC были МЭСМ, потом БЭСМ. характеристики похожи.

Bulat, так поинтересуйся
история 1, 2 etc
список


Ты мне лучше дай инфу про первые версии Агата и сравним характеристики с тем же ENIAC и БЭСМ, а ссылки на википедию я и сам могу дать в большом количестве!  smile 



--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
baldina
Дата 30.1.2015, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Bulat @  30.1.2015,  14:59 Найти цитируемый пост)
дай инфу про первые версии Агата

найди то не знаю что? с чего ты взял что они существовали?

Добавлено через 2 минуты и 21 секунду
Цитата(Bulat @  30.1.2015,  07:09 Найти цитируемый пост)
что-то из разряда ENIAC

я сильно сомневаюсь, т.к. подобные проекты тогда занимали сотни метров, весили десятки тонн и стоили кучу народных денежков (выделяемых централизованно через госплан). такой проект не мог исчезнуть бесследно.
PM MAIL   Вверх
ТоляМБА
Дата 30.1.2015, 17:25 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


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

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



Цитата(baldina @  30.1.2015,  19:16 Найти цитируемый пост)
такой проект не мог исчезнуть бесследно. 

В России? Мог!
PM   Вверх
baldina
Дата 30.1.2015, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



в институте НИИВК, где разработан Агат, во времена ENIAC создана M-1 (всего построен адын екземпляр). ниче общего с агатом она, понятно, не имела.
Агат был клоном apple II и до apple могло быть что угодно, но только не Агат.
так что никаких доводов пока не вижу
PM MAIL   Вверх
Bulat
Дата 31.1.2015, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Цитата(ТоляМБА @ 30.1.2015,  17:25)
Цитата(baldina @  30.1.2015,  19:16 Найти цитируемый пост)
такой проект не мог исчезнуть бесследно. 

В России? Мог!

У нас в России Камазы десятками исчезают бесследно - чего уж тут исчезнуть какой-то железяке! smile

Добавлено через 1 минуту и 1 секунду
Цитата(baldina @  30.1.2015,  17:26 Найти цитируемый пост)
так что никаких доводов пока не вижу 

С твоей стороны - да! Никаких доводов, одна игра слов, в народе именуемая демагогией!  smile 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
Bulat
Дата 31.1.2015, 09:43 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Цитата(baldina @  30.1.2015,  17:26 Найти цитируемый пост)
Агат был клоном apple II 

Знаешь что такое клон?? Клон - это когда ты берешь компьютер Эппл, меняешь название, цвет каркаса и называешь его Агат! Агат никогда не был клоном Эппл!  smile 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
_zorn_
Дата 1.2.2015, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Bulat @  31.1.2015,  16:43 Найти цитируемый пост)
Знаешь что такое клон?? Клон - это когда ты берешь компьютер Эппл, меняешь название, цвет каркаса и называешь его Агат! Агат никогда не был клоном Эппл!  smile  

А китайцы всегда выпускали авторские разработки, ага. Ведь никогда тупо наклейки не переклеивали  smile 
Патриотом нужно быть в меру...
PM MAIL   Вверх
миг
Дата 1.2.2015, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(mimik @  7.11.2010,  17:50 Найти цитируемый пост)
Не могу понять почему в ЯП так популярна индексация массивов с нуля, ведь это как-то не логично, да и преимуществ вроде нет.

просто решили условно принять, что первая ячейка в массиве имеет индекс нуль. Ну, это как точка таяния снега условно принято за 0 градусов по цельсию. Если вам по какой то причине не удобен такой отсчет всегда можете сделать свой массив. Индексация которого будет начинаться с единицы. Теоретически можно замутить массив индексация, которого будет начинаться с минус ста до плюс пятьсот и тому подобное. Только зачем, чтобы другие программисты работающие с вами постоянно путались в начале и конце индексации массива? Вот вам и преимущество любой программист читающий и исправляющий мою программу знает, что первое число массива находится по нулевому индексу.

Это сообщение отредактировал(а) миг - 1.2.2015, 14:36
--------------------
Oaks may fall when reeds stand the storm.
PM MAIL   Вверх
миг
Дата 1.2.2015, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(mes @  21.11.2010,  21:51 Найти цитируемый пост)
а с какого года начался первый век ? а компьютеров тогда еще не было 

1 век до н.э, а потом сразу 1 век н. э. Нулевого века не было.
--------------------
Oaks may fall when reeds stand the storm.
PM MAIL   Вверх
mes
Дата 16.2.2015, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(миг @  1.2.2015,  11:19 Найти цитируемый пост)
1 век до н.э, а потом сразу 1 век н. э. Нулевого века не было. 

1й век - потому, что используете порядковые числительные, которые показывают вектор направления, притом разнонаправленый для "н.э." и "до н.э."

Код

                                                     .- ------------- событие [0]  
                                                     |                .- событие [0+1]
                                                     |                |
  v               v               v               V
  | ----<----- | ----<----- | -----<---- | ---->----- | ---->----- | ----->---- |
  3               2              1                0               1               2              3
        3rd            2nd             1st           1st            2nd           3rd 



Младенцу с рождения идет первый год, однако отсчет его жизни идет с нуля. И год исполняется только через год.
Поэтому важно понимать какая шкала используется. "Разносторонняя порядковая" удобна в повседневной жизни, но требует дополнительной логики,  при расчетах пересекающих границу.  В с (с++) решили для создания массива указывать верхнюю границу , а при обращении к элементу нижнюю границу : что в переводе на возраст младенца, вместо нечеткого "ему второй год" получается "ему год , два месяца, три дня, 4 часа, 5 минут"
 smile



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


Новичок



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

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



В C++ тупо сделали из-за offset
т.е. arr[1] означает дай элемент с offset в 1 элемент, а не дай первый элемент
это удобно для компьютера но не для человека

Цитата(mes @  16.2.2015,  00:35 Найти цитируемый пост)
Младенцу с рождения идет первый год, однако отсчет его жизни идет с нуля

отсчет идет с секунд, а не с года, т.е. младенцу 2 месяца(большое число секунд)

Это сообщение отредактировал(а) Romper - 18.2.2015, 16:11
PM MAIL   Вверх
_zorn_
Дата 23.2.2015, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Romper @  18.2.2015,  23:10 Найти цитируемый пост)
это удобно для компьютера но не для человека

Как сказать  smile 
Дело привычки опять же. Вон арабы вообще задом наперед пишут  smile 

Хватить филосовствовать на ровном месте  smile 
PM MAIL   Вверх
LSD
Дата 24.2.2015, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Цитата(_zorn_ @  23.2.2015,  18:29 Найти цитируемый пост)
Дело привычки опять же. Вон арабы вообще задом наперед пишут

Самое забавное, что люди даже не замечают что пишут числа задом наперед.


--------------------
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   Вверх
Bulat
Дата 15.2.2023, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Цитата(_zorn_ @  23.2.2015,  17:29 Найти цитируемый пост)
Дело привычки опять же. Вон арабы вообще задом наперед пишут

Не задом на перед, а справа на лево... это разные вещи...

Цитата(_zorn_ @  1.2.2015,  11:27 Найти цитируемый пост)
А китайцы всегда выпускали авторские разработки, ага. Ведь никогда тупо наклейки не переклеивали   
Патриотом нужно быть в меру...


Дело не в патриотизме, а просто в корректности.

Цитата

«Агат» был разработан на базе архитектурных решений компьютера Apple II Plus, но конструктивно и схемотехнически сильно отличался от прототипа.


Агат

Если назвать Агат - неким аналогом apple - соглашусь, но уж никак не клон. Клон это по сути точная копия, ну там на 95% схожая с оригиналом...  smile 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
RubyLudwigValentin
Дата 6.3.2023, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


magister wandal



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 4.3.2023
Где: Rostov-on-Don

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



Цитата(FadilMamedov @  7.11.2010,  18:42 Найти цитируемый пост)
Видимо сказывается традиция... 


Традиция языка C
В том же Паскале можно задать диапазон индексов [1..1000], и даже необязательно начинать с 1.
Можно даже сделать объявление перечисления например, type color={red, yellow, green} и проиндексировать его элементами массив.
Но настоящие программисты не боятся индексирования от 0, а делают так и в Java и в C#.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

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

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


 




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


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

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