The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Языку Python исполнилось 30 лет, opennews (??), 21-Фев-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


29. "Языку Python исполнилось 30 лет"  +1 +/
Сообщение от Аноним (6), 21-Фев-21, 11:37 
пацкаль жи
Ответить | Правка | Наверх | Cообщить модератору

31. "Языку Python исполнилось 30 лет"  –7 +/
Сообщение от Аноним (31), 21-Фев-21, 11:48 
>пацкаль жи

Нумерация с единицы и begin end - спасибо, ешьте сами.

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

38. "Языку Python исполнилось 30 лет"  +2 +/
Сообщение от Рейка Сметанова (ok), 21-Фев-21, 12:07 
в FreePascal нумерация давно с 0
Ответить | Правка | Наверх | Cообщить модератору

41. "Языку Python исполнилось 30 лет"  –3 +/
Сообщение от Аноним (48), 21-Фев-21, 12:19 
Переобуваться на бегу так, чтобы никто не ассертил - отличные грабли
Ответить | Правка | Наверх | Cообщить модератору

304. "Языку Python исполнилось 30 лет"  +1 +/
Сообщение от АноннонА (?), 25-Фев-21, 07:58 
В Pascal нумерация с любого - [-5..3]
Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

39. "Языку Python исполнилось 30 лет"  +/
Сообщение от Аноним (6), 21-Фев-21, 12:09 
луа тоже обходи стороной тогда
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

47. "Языку Python исполнилось 30 лет"  +7 +/
Сообщение от anonblmus (?), 21-Фев-21, 12:53 
Напоминаю, что в том диалекте пацакля, который использовался IRL (т.е. турбопаскакале и клонах, включая фрипаскаль) индексами в массивах могут быть любые enumerated.
Т.е. хоть "a: array['A'..'Z'] of sometype".
А если индекс - целое, то он может быть и меньше нуля, если это указано при описании массива.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

49. "Языку Python исполнилось 30 лет"  –7 +/
Сообщение от Аноним (48), 21-Фев-21, 13:15 
У нормальных людей для пихания всякой не итерируемой адекватно чепухни есть словари
Ответить | Правка | Наверх | Cообщить модератору

83. "Языку Python исполнилось 30 лет"  +9 +/
Сообщение от анонн (ok), 21-Фев-21, 17:50 
> У нормальных людей для пихания всякой не итерируемой адекватно чепухни есть словари

Это у каких-таких "нормальных людей" буквы в алфавите или числовой диапазон -50 .. 50 "не итерируемой адекватно" и они используют для этого словари?
Современных уеб-погроммистов?


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

86. "Языку Python исполнилось 30 лет"  +1 +/
Сообщение от Аноним (-), 21-Фев-21, 18:26 
Нумерация с единицы это правильно
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

94. "Языку Python исполнилось 30 лет"  –3 +/
Сообщение от Аноним (94), 21-Фев-21, 19:40 
Не в мире IT
Ответить | Правка | Наверх | Cообщить модератору

130. "Языку Python исполнилось 30 лет"  +3 +/
Сообщение от Аноним (130), 22-Фев-21, 07:40 
0 -- это выработанная годами привычка (по инерции во всех ЯП). 1 -- это то, что действительно правильно. Если вдуматься, то 1-й элемент под номером 1 -- это мать его кульминация логики!!! Но 1-й элемент под номером 0 -- это что вообще? Или, следуя тому же маразму, 2-й элемент -- это 1-й элемент (и т.д.). Это в каких параллельных вселенных такое возможно? По-моему, это один из главных недостатков всех ЯП, к которому хоть все и привыкли (и я в том числе), но от которого надо бы уже давно избавться и следовать естественной нумерации.
Ответить | Правка | Наверх | Cообщить модератору

134. "Языку Python исполнилось 30 лет"  +/
Сообщение от гость (?), 22-Фев-21, 08:30 
В Си это не номер элемента, а смещение, как в ассемблере/машинном коде, поэтому отсчет от 0 это логичный выбор для системных языков
Ответить | Правка | Наверх | Cообщить модератору

192. "Языку Python исполнилось 30 лет"  –1 +/
Сообщение от Аноним84701 (ok), 22-Фев-21, 15:12 
> В Си это не номер элемента, а смещение, как в ассемблере/машинном коде,

В си это исторический синтактический сахар
> the definition of the subscript operator [] is that E1[E2] is identical to (*((E1)+(E2))).

Причем, побочным эффектном позволяющий писать вот так:


    int bar[6];
    4[bar] = 10;
    char* foo[2] = {"hello","hello"};                                                    
    1[foo] = "world";        

Единственное имхо преимущество - простота реализации в компиляторах тех времен.


> поэтому отсчет от 0 это логичный выбор для системных языков

Угу-угу. Правда,  сильно смахивает на синдром водоплавающих,  ведь взять содержимое по (указатель + смещение) и взять содержимое (массив[по индексу]) -- это абстракции довольно разного уровня.
И ведь почему-то никого не смущает одинаковая, _неявная_ операция "смещение × размер элемента" для *(foo+i) и foo[i], но  вот гипотетический, неявный  (baseaddr - constval (== размер элемента) )
для абстракции уровня массив[индекс_с_1] --"Фу-у-у, несистемно! И вообще, руки прочь от любимого источника off-by-one ошибок!" 🙄

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

144. "Языку Python исполнилось 30 лет"  –3 +/
Сообщение от Аноним (144), 22-Фев-21, 11:47 
Расскажи это тем народам, которые мучились с расчётами до изобретения 0 индусами.
Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

378. "Языку Python исполнилось 30 лет"  +/
Сообщение от netch (ok), 28-Фев-21, 11:39 
0 изобрели не индусы, а греки. Индусы ввели его в позиционную систему.
И наличие нуля не означает необходимость нумерации с нуля.
Ответить | Правка | Наверх | Cообщить модератору

150. "Языку Python исполнилось 30 лет"  +1 +/
Сообщение от Урри (ok), 22-Фев-21, 12:14 
Вот вы, когда берете яблоки из корзины, сначала берете нулевое яблоко или первое?
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

217. "Языку Python исполнилось 30 лет"  –1 +/
Сообщение от economist (?), 22-Фев-21, 20:00 
Брать просто так взять "первое" яблоко. С физической точки зрения - объекты не имеют номеров, их число - вторично. А вот адресация ячеек памяти - первична. Иначе придется в куче вещей добавлять единицу и плавить льды машинным временем.
  
Можно перейти в точку 0 и взять то что справа. Поэтому индексация с 0 - является методически правильной.


Если еще более понятно, то

0 - это начало 1-го объекта.

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

259. "Языку Python исполнилось 30 лет"  +/
Сообщение от Аноним (259), 23-Фев-21, 14:18 
Дяденька неё пытайтесь сову натянуть на глобус. У вас весьма извращенное мышление. Массив сам по себе является абстракцией и нумерация его должна начинается с нуля. Языкам программирования возникшим в 70-80 гг. прошлого века это простительно, языкам возникшим позже нельзя тем более таким как Питон, код которого исполняется в пределах виртуальной машины.

Индексация с нуля в Абстрактных Типах Данных - это маразм.

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

260. "Языку Python исполнилось 30 лет"  +/
Сообщение от Аноним (259), 23-Фев-21, 14:19 
"нумерация не должна"

опечатка извините

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

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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