Японские интерфейсы в реальном мире

    Привет! Хочу рассказать про то, чем японское видение разных интерфейсов в реале отличается от нашего. Как всегда, эти мелочи могут сказать о культурной среде очень многое.

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



    А вот термометр. Они здесь часто круглые, и при этом есть цветовая индикация.



    Обратите внимание, в этой гостинице уставка 20 градусов, и это создаёт большую часть времени удобное положение стрелки для перфекциониста.


    Или безумная забота о слепых на вокзале. Почему только шрифт Брайля? Можно же сделать ещё объёмную схему, чтобы щупать. И добавить кнопки с голосовыми справками:



    Теперь два усовершенствования лифта. Первое простое и понятное — антистатическая панель. Сначала трогаете её, потом касаетесь кнопки. Так точно не будет искры. У меня с 2006 года привычка нажимать эти кнопки через рукав, поскольку именно тогда я привык, что в нашей серверной всегда било током от стоек.



    Но куда интереснее вот это:



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

    Витрина магазина, в неё выносят на улицу и образцы обычных товаров:



    Посмотрите, как безумно классно сделан знак именно в этом месте:



    Туалеты у японцев напоминают кабину космокрейсера. В поезде же всё проще, все настройки по умолчанию. Но обратите внимание на третью кнопку:



    Вот эта штука — отзывы. Каждый интересный человек, который заходил в это кафе, может написать отзыв под своим фото.



    Вот ещё отзывы, тут без фото, просто люди оставляют:



    Здесь обратите внимание на автомат. Это касса. В нём выбирается еда, бросаются монеты или купюры, он даёт жетон. Уже на жетон можно выменять соответствующую штуку. То есть кухня только готовит, кассир не нужен. Это не исключает живое общение на точке, но исключает всю материальную ответственность кассира и повышает надёжность процесса по воровству (хотя в Японии вряд ли воруют).



    Ящики для мусора индицируются не только значками:



    Флажок для перехода дороги с детьми на светофоре. Воткнут в сам светофор.



    Эта штука — одна из завлекалочек для городских вандалов. Чтобы вы не царапали «ВАСЯ ПЛЮС АЯ = ЛУБОФФЬ», поставили огромный макет задницы из бумажек, куда можно написать то же самое. И это артобъект. Такая же фигня может происходить с замками, например.





    Пакеты со скруглёнными или скошенными углами, чтобы туда ничего не закатилось:



    В музеях очень много крутых находок. Вот тут можно послушать звуки полёта разных насекомых:



    А здесь показаны цветы этого растения. И это, чёрт побери, уже само по себе безумный арт-объект:



    Кресла в аэропорту:



    Тут очень крутая навигация следами:



    Вход с выходом не перепутаешь точно:



    Следующая навигация, уже дальняя. Очень удобно ходить по городу и знать, где важные объекты от тебя:





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



    Хотя местами навигация и наружная реклама удивляют. Это вот штендер магазина:



    Невероятно крутая работа с бордюрами и мостовой вообще:







    Листья и опавшие цветы тут почти не убирают. Точнее, не убирают с мостовых. И это безумно круто.



    В этом туалете есть место перепеленать оранжевого ребёнка, зелёного ребёнка и подправить макияж.



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



    А вот плохой интерфейс. Если у вас есть аллергия, и вы не умеете читать по-японски, вам хана в Старбаксе.



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



    Всегда объясняются правила игры. Это вот книжное кафе, самые грубые правила, что удалось найти. Грубо, но однозначно:



    Время считается по 26-часовой шкале как у нас в старых телепрограммах. То есть если это относится к вечеру сегодняшнего дня, то это 25:30, например. А если в контексте уместнее сказать про утро следующего, то 1:30. Обратите внимание, пользовательское объяснение на расписании автобусов из гостиницы вверху и точное с 00:10 внизу.



    Около каждого вагона нарисованы стрелки для выхода и места, где начинать очереди тем, кто на вход. Японцы строятся в очереди и ждут поезда. Поезд приходит миллиметр-в-миллиметр, люди выходят, две очереди по бокам заходят.



    На вокзале, естественно, есть обозначения номеров вагонов:



    А в самом поезде очень крутая навигация для блоков вагонов:



    Эта штука — держалка для зонтов.



    Немного выкладки продуктового. В мешках с рисом сделаны иллюминаторы:



    У всех сладостей в обычной выкладке есть демо-пачки, в которых лежат муляжи. Их предоставляет прямо поставщик, чтобы люди знали, что внутри. Отличная индикация:







    Макеты блюд с ценами в витрине вместо меню. Точнее, меню тоже дадут, но по этим штукам куда проще заказывать. С такими муляжами есть даже целые магазины. Там можно купить ещё брошь для головы с яичницей или мандарин-брелок:



    А вот праздник упаковок. Непонятно поначалу, что это за магазин, но подходишь ближе — сладости. Они открытые, но просто ближайшие выглядят как зелёные пельмени:



    А в меню зоопарка можно сожрать панду:



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



    В продуктовых есть чайники или термопоты, чтобы вы могли налить себе горячей воды:



    В электронике лежат странные штуки:



    В Москве несколько лет назад были популярны флайкарды — открытки с рекламой. В Японии как минимум в регионе Хаконе есть мода на закладки для книг с рекламой. Прочитал буклет, проникся, оставил себе закладку с минимумом данных вместо визитки. Они очень эстетичные. Единственный момент — похоже, японцы ещё не знают, что иностранцы ездят без бумажных книг.



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



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



    Удачная выкладка открыток:



    Ручки поставляются с пластиковой каплей, фиксирующей шарик:



    Совершенно поразившая меня вещь, в шкафах и под столом в разных гостиницах часто крепятся фонарики:



    Пока всё. Вот тут есть предыдущие серии интерфейсов в реальном мире: первый, второй, третий, четвёртый, про Китай.
    Поделиться публикацией

    Комментарии 354

      +12
      Вот бы еще на японские сайты это человеколюбие перекочивало. Стоит отключить международную шкурку для гайдзинов, и такое ощущение что едешь на машине времени на 15 лет назад.
        +11
        Это вы ещё немецкий интернет не видели, там сильно дальше, чем на 15 лет, уезжаешь.
          +6
          В Мюнхене в компутерном лабазе прослезился… Бумажный прайс, материнки на зелёненьком, видяхи на красненьком, периферия на желтеньком и т.п…
          На дворе шло начало 2018г… У нас я бумажных распечаток прайсов не встречал где-то с нулевых годов примерно.
            0
            Да, в Германии информатизация далеко не зашла, почти всё ещё аналоговое. Отношение к бумаге, кстати, не как у нас. У нас бумага — мусор, а там — перерабатываемое сырьё.
              0
              У них, как ни удивительно, сам по себе прогресс (а точнее наверное будет сказать «потребительство») не вот тебе далеко зашёл. Удивительно — потому что «ну просвещённая европа жеж». Однако даже бытовая составляющая это довольно-таки старая техника, мебель, приборы. И, если судить по тому что лично я видел — гораздо меньше магазинов соответствующего профиля. Условно говоря если в Самаре я хочу, например, стиралку, у меня в радиусе 10км наберется 10+ вариантов магазинов.
              Но, местный Obi — это просто концентрат боли. Отрезные диски по 5 ойро, зачистные по 8, аренда! перфоратора 20 в час и т.п.
                0
                Немцы — экономный народ. И если что-то старое продолжает выполнять свою функцию, то зачем это менять. Я бы сказал, что в России даже немного неадекватное желание всё обновить. Средний возраст среднего потребителя в Германии намного выше, чем в России, и поэтому и экономика более неповоротливая становится.
                По поводу магазинов, тоже заметил такое. Предполагаю, что это связано с зарплатами и ценами. Т.е. чем больше магазинов, тем меньше продаж в каждом магазине, тем больше должна быть наценка и меньше зарплаты, чтобы бизнес оставался рентабельным.
                Интересно, сколько стоит перфоратор, и на сколько часов в среднем его арендуют. :)
                  0
                  По слухам там ещё не только лишь все имеют право им (перфоратором) работать.
                  Но по моей прикидке получается минимум 4-ре часа. Мы жили около центрального ЖД-вокзала а obi что нашли — слегка в пригороде то есть на поездку туда-сюда уже 1-1.5 часа смело можно закладывать если ты где-то в центре обретаешься.
            +29
            15 лет назад на страничке 800x600 информации было раз в десять больше, чем сегодня на скроллируемой портянке ?x1920, где 1080 первых сканлиний занимает непонятно о чем картинка фотографического качества, а то и симпсоны анимация на весь экран.
            +4
            Загляните на китайские сайты. Там дичь похлеще.
              0
              Типа такой?
                +2
                Футер порадовал:
                Все права защищены.
                Никакая часть данного сайта не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев.


                ой, я кажется воспроизвёл часть сайта
                  0
                  Сайт рассчитан на людей с низкой компьютерной грамотностью, порой им даже напечатать в поиске проблема т.к. с раскладкой не знакомы.
                  А так ввёл в поиске первые три-четыре буквы, увидел совпадение адреса с визитки, перешёл и вот она вся номенклатура, не нужно дальше ничего искать, переходить по дереву сайта.
                    +1
                  +5
                  И это в общем-то неплохо. Сайты грузятся быстро, нормально отображаются в любом браузере и с выключенным JS, содержат максимум информации и минимум свистелок.
                  +14
                  Многие вещи очень классно сделаны, и возникает ощущение «эх, почему у нас не так».

                  Но процентов 20% из того что вы показали делают и в России.
                    +4
                    К сожалению зачастую так и норовят сломать и испортить, быстрее чем что-то попадется на глаза. Порой идешь мимо банальной сломанной лавочки и гадаешь — ведь явно недавно поставлена, зачем ломать?
                      +1
                      Судя по всему только в Москве. Буквально недавно имел опыт поколесить из Владивостока в Москву. Создалось впечатление что внутри третьего транспортного совсем другая страна.
                        0
                        На самом деле очень многое у них просто отвратительно сделано в плане навигации/вывесок/схем и интерфейсов. Огромный перегруз лишней визуальной информацией. Карты на местности всегда повернуты в сторону взгляда, а не на север – что по идее должно быть удобно, а на деле запутывает очень сильно. Схемы метро это просто ад. То есть с одной стороны — «точеный японский дизайн», а с другой: «это вообще люди делали?».
                          +1
                          > Карты на местности всегда повернуты в сторону взгляда, а не на север – что по идее должно быть удобно, а на деле запутывает очень сильно.

                          Добро пожаловать в Москву!
                            0
                            В смысле? Я 35 лет живу в Москве и ни одной такой карты еще не видел.
                              +2
                              Все карты местности на станциях метро, в подземных переходах и просто на улице (по-моему, опять же в основном у входов в метро) теперь сориентированы не на север, а по направлению смотрящего. Например, тут видно.
                                0
                                А, ну я на них ни разу не смотрел. Ну что же — это ужасно! Особенно для карты под землей — ужасно вдвойне.
                                  –1
                                  зачем вам под землей Север?
                                    +1
                                    Для того чтобы правильно ориентироваться в пространстве.
                            +1
                            Изменения последних лет в московском метро — этом местами тихий ужас. Помимо ерунды с картами (мне лично хочется повесить около этой карты того, кто додумался сделать север не сверху карты, а с боку, снизу и ещё фиг знает где). Так ещё изменили таблички со станциями на некоторых линия, которые весят не там, где поезда ходят, а там где люди. После изменений — информации не прибавилось, а шрифт стал «тонким, модным, молодёжным». Другими словами — в двое меньшего размера и тонкий, как результат — сложнее прочитать, что там написано, нужно ближе подходить.
                              +2
                              Карты на местности всегда повернуты в сторону взгляда, а не на север

                              А как по мне, это, наоборот, удобно. Как я должен север искать на местности?

                                0
                                В телефоне же. На картах обычно указаны местные POI и пути к ним. И я уличными картами пользуюсь смотря при этом на карту в телефоне.
                                  0

                                  Хм, а я — нет. И, я думаю, карта проектировалась под таких, как я, а не таких как вы.

                                    0
                                    Ну я примерно всегда знаю где север даже без телефона. Если есть что брать за опорную точку — не в лесу конечно.
                                      –1
                                      Дык а вдруг гуугу йимитир захватят мир? У этих людей в языке вообще нет понятий «лево» или «право». То есть даже руки у вас будут либо «северная» и «южная», либо «западаная» и «восточная» (в зависиомости от того, как стоите).

                                      Зато никакой путаницы, когда два собеседника лицом к лицу стоят…
                                        +1
                                        Ну, насколько я помню, в Китае тоже в основном сторонами света оперируют при навигации: «Пройдите два квартала на юг по этой улице, сверните на запад и идите ещё три квартала». А китайцы они таки везде проникают, так что шансы есть.

                                        Кстати, у китайцев есть один полезный приём, который мне больше нигде не встречался: у них в городах висят здесь и там карты «где найти ближайший общественный туалет». Туалетов этих у них, кстати, тьма, поэтому в городах даже в самых полуразвалившихся хутунах не нагажено по углам.
                                      0
                                      Если есть карта в телефоне, уличная обычно не нужна вовсе…
                                        +1
                                        Это не так. На уличной явно обозначены POI релевантные для этой местности. Их может не быть на обычной карте. В случае Японии, такое сплошь и рядом.
                                +10
                                Фонарики, видимо, связаны со стандартами эвакуации при природных катастрофах. Наверняка там где-то еще свисток от акул или что-то вроде.
                                  +3
                                  Нет, они именно в местах, где обычное освещение не достанет, судя по расположению и количеству. Выхватывать фонарь из шкафа при попытке выбежать — не очень идея. Это в Китае отдельно есть набор из белых тапочек и кислородного баллона для эвакуации в гостиницах.

                                  UPD: а вот ниже amarao говорит, что всё же для ТБ. Похоже, я был неправ, они их крепят там, где ещё в мирной жизни пригодятся.
                                    +3

                                    В Токио ещё попадалось в отеле — в люстре есть ниточка, которая при удержании в натянутом состоянии присоединяет к лампам встроенный аккумулятор. Видимо, чтобы подавать сигнал, если завалило выход.

                                      +1

                                      Фонарики для эвакуации. Именно поэтому без кнопки. Их снимаешь со стены и они сразу светят.


                                      Конечно, около половины описанного и для Японии скорее исключение чем повседневность, но имеет место быть

                                        +1
                                        Эти с кнопкой.
                                        0
                                        В Москве в одной гостинице видел такие фонарики.
                                          0
                                          Да, в прошлом году я в Хиросиме три раза останавливался в одном и том же отеле, там в кадом номере было по 3 фонарика, и унитаз как из фантастического фильма.
                                            0
                                            По-моему этими унитазами уже никого не удивишь. У меня дома такой — очень удобно. На Алике полно «умных сидушек», даже Сяоми есть.
                                          0
                                          А в японских машинах раньше под «бардачком» ещё фальшфейер был.
                                          Да, наверное, японцы живут в состоянии постоянной готовности к катастрофе.
                                            0
                                            Не наверное, а так и живут.
                                          +14

                                          Фонарики есть во всех (коммерческих) помещениях обязательно. Даже в машине обязан быть фонарик — все, кто покупал настоящую праворульную японку могут посмотреть — сбоку, обычно на переднепассажирском седении есть крепление для фонарика. Насколько я понимаю, оно требуется для ТО, как в России аптечка.


                                          Причина — землетрясения и необходимость как-то выбираться во время блэкаута.

                                            +1
                                            Хм, в своей королле 2002 не помню такого, и в мануале фонарик вроде бы не упоминается. Возможно, всё же зависит от года или класса машины?
                                              0

                                              В 2009 уже было. По классу не знаю, вроде все бытовые (aka не luxury) с фонарико-креплениями идут. Выглядят как два пластиковых кольца с разрывом (для вставления круглой палки) под торпедой где-то.

                                                +5
                                                Тогда понятно. Как сказано комментом ниже — это крепление фальшфейера, и он упоминается в мануале.
                                              +6
                                              Это крепление для фальшфейера
                                                0

                                                О как. Спасибо.

                                                  +2
                                                  Факт, в моей Калдине 96-го года был фальшфейер. Только я его вытащил и с собой не возил от греха подальше.
                                                  +2
                                                  Скорее всего, это крепление для сигнального фаера.
                                                    +4
                                                    Это крепление для фальшфейера, но вы подали отличную идею на что его заменить! Он во всех японках одного размера, я думаю найти фонарик под это крепление будет легко.
                                                    +16
                                                    Выглядит как жуткое нарушение приватности
                                                    А разве кабинка лифта — приватное помещение? Их в торговых центрах вообще делают с прозрачными стенами и внешним обзором.
                                                    огромный макет задницы из бумажек
                                                    Интересно, как для тебя выглядит значок красных пик.
                                                      +10

                                                      Для меня красные пики выглядят так же странно, как чёрные бубны.

                                                        +8
                                                        В оригинале были чёрные черви:

                                                        image
                                                          0
                                                          Поэтому чёрные бубны и выглядят странно.
                                                        0
                                                        Кроме отеля (Toyoko Inn, где, судя по всему, остановился автор), я камер в лифтах не видел.
                                                        +3
                                                        А разве кабинка лифта — приватное помещение?

                                                        Более того, такие камеры хорошо предотвращают различные преступления в лифтах. Никто не будет, извините, испражнятся или приставать к соседям зная, что камера наверху и все всё видят.
                                                          0
                                                          друг лифтёр отвечает: будут… людям поооофиг.
                                                          +1
                                                          Лишь бы учли ракурсы на женскую одежду, чтобы не было видно лишнего.
                                                            +1
                                                            Это японцы.
                                                              –1

                                                              Это японцы, ракурсы учли, видно будет все :)

                                                            +4
                                                            Банки в автомате бывают как холодные, так и горячие
                                                            Термопоты в магазинах в основном нужны для того, чтобы можно было заварить купленную лапшу.

                                                            Для меня самой лучшей навигацией в Японии была та часть зеркала, которая не запотевает когда заканчиваешь прием душа и видишь свой фэйс в лучшем виде, не вытирая полотенцем все зеркало)
                                                              0
                                                              Ставите себе в ванной на зеркало с собратной стороны нагреватель, коих полно в продаже, в параллель со светом, если вы эстет — с датчиком влажности, и вперед.
                                                                +1
                                                                Или покупаете флакончик с антитуманом и наносите его на зеркало.
                                                                  0
                                                                  Вы не понимаете, это так красиво выглядит, так изящно — такой небольшой участочек примерно размером с физиономию с скруглёнными краями :-) А не тупо всё зеркало греть)
                                                                    +1
                                                                    Ну так поставить маленький нагреватель, только на нужный участок.
                                                                      0
                                                                      И бокэ заодно получается!
                                                                  +13
                                                                  Кстати, с круглым числом публикаций :) Эта 256ая :))
                                                                    +5
                                                                    О, да, число ровное )
                                                                      –1
                                                                      А разве счётчик не с нуля начинается? Хотя в данном случае тоже можно отметить: переход с byte на ushort.
                                                                        +6
                                                                        А разве счётчик не с нуля начинается?

                                                                        А в десятичной системе у вас круглое число 99, или все-таки 100?

                                                                          –2
                                                                          Если в десятичной системе считать с нуля – то по общепринятым правилам круглым будет тот, который #99 при count=100. Так что «айтишники» и «околоайтишники» могут считать круглым пост #ff при count=100₁₆.
                                                                            +2

                                                                            1) "начало отсчёта" не свойство системы счисления, а всего лишь условная договоренность. Есть языки программирования (напр. pascal), где начальный индекс — единица
                                                                            2) afaik на хабре нет per-user нумерации статей. только общая сквозная
                                                                            2а) начинается она с единицы https://m.habr.com/ru/post/1
                                                                            3) с чего бы не начиналась нумерация, с нуля, с единицы, или ста двадцати трех, количество элементов в массиве зависит только от их количества (ваш кэп)
                                                                            4) судя по профилю количество статей у milfgard 256 (100₁₆)

                                                                              0
                                                                              Есть языки программирования (напр. pascal), где начальный индекс — единица
                                                                              В Pascal массивы могут начинаться с любого индекса. Так что если вспоминать — то скороее Fortran… но это очень старый язык, тогда просто не было понятно почему нумерация с нуля удобнее. В Wikipedia список есть.

                                                                              2а) начинается она с единицы m.habr.com/ru/post/1
                                                                              А почему вы в этом так уверены? Потому что нулевой статьи нет? Ну так и 3й нет и 5й… нулевая вполне могла быть тестовой…
                                                                                0

                                                                                Да хоспади! Зачем же так в древности углубляться? getColumn(index) в jdbc, в php и ещё где-то идут с единицы.

                                                                                  0
                                                                                  Зачем же так в древности углубляться?
                                                                                  Ну это вопрос не ко мне: я Pascal не вытягивал, просто указал на ошибку.

                                                                                  getColumn(index) в jdbc, в php и ещё где-то идут с единицы.
                                                                                  Что логично: SQL — это, я извиняюсь, 1974й год. Кто тут про ненужность копания в древностях говорил? Или если кто-то математику считает на Fortran — то «это что-то странное», а если вы лично в базу лезете через язык, которому немногим меньше — то это уже не древность?
                                                                                    0

                                                                                    А jdbc гораздо позднее появился и могли и выровнять индексы с остальным языком, но не стали.

                                                                                      0
                                                                                      Не очень понятно как: в JDBC позволяет отправлять «сырой SQL», хранимки и прочее — и проконтролировать что вы там пишите — не может. Так что «выравнивание» произошло бы не везде, а только в определённых контекстах. Это хуже, чем отсутствие выравнивания в принципе.
                                                                                        –1

                                                                                        Вы бы с интерфейсами взаимодействия с базой ознакомились сперва, прежде чем чушь писать, ок?
                                                                                        Есть запрос, который может быть даже query (то бишь строка с чистым SQL), а есть ответ, который ResultSet и которому ровным счётом положить, что вы там у базы спрашивали, но который отлично мапит курсор в пространство java. И вот этот ResultSet вполне мог работать с индексами 0...n-1… но в 90х, видимо, сочли что и прямой мапинг ок… а теперь это то же самое наследние и "совместимость".

                                                                                          0
                                                                                          Вы бы с интерфейсами взаимодействия с базой ознакомились сперва, прежде чем чушь писать, ок?
                                                                                          К вам тоже относится. Кроме простых запросов в базу можно посылать сложные — с подзапросами и целыми процедурами. И вот там JDBC индексы ну никак контролировать не может.

                                                                                          Да, конечно, можно было бы сделать так, что индексы в ResultSet нумеруются с нуля, а в PL/SQL — по прежнему с нуля. Но количество WTF в этом случае зашкалило бы.
                                                                                  0
                                                                                  В Pascal массивы могут начинаться с любого индекса.

                                                                                  С паскалем, каюсь, напутал, очень давно это было. Но исходный тезис про условность нумерации это только подтверждает. Про 'нумерация с нуля удобней' вопрос неоднозначный. В языках с указателями и их арифметикой (array[idx] ~ *(array + idx)) — да, в остальных — скорее следование традиции.


                                                                                  А почему вы в этом так уверены? Потому что нулевой статьи нет?

                                                                                  Именно. Ну и эмпирического предположения, что с очень большой степенью вероятности внутри это что-то вроде INT NOT NULL AUTO_INCREMENT


                                                                                  Ну так и 3й нет и 5й… нулевая вполне могла быть тестовой…

                                                                                  Можно предполагать, что угодно, например, что есть невидимая тестовая статья за номером e/π, или, например, -164 (что, кстати, возможно и при вышеизложенной гипотезе). Но с тем же успехом и в C array[-164] вполне себе defined behaviour.

                                                                                    +2
                                                                                    В Pascal массивы могут начинаться с любого индекса.

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

                                                                                    Вообще-то нумерация — это не то же самое, что индексация.
                                                                                    0
                                                                                    И почему с нуля она удобнее? Вроде бы логично что нулевого элемента не должно быть вообще, потому-что количество элементов (например мешков) начинается с первого. Но понятно что логики тут нет.
                                                                                      0
                                                                                      Логика тут как раз есть. Про это Дейкстра сто лет назад писал (хорошо, хорошо, хорошо, убедили: 37 лет назад).

                                                                                      Нумерация с нуля — банально удобнее. А если бы мы ориентировались исключительно на «мешки» — то и компьютеры у нас до сиз под были бы десятичными, как ЭНИАК.

                                                                                      И да — есть места, где «по историческим причинам» и десятичные флоаты используются и нумерация с единицы. IBM Z эти самые десятичные флоаты даже аппаратно поддерживает, но это не значит, что процессор в вашем телефоне ущербен, раз их не поддерживает… просто ему не нужно работать с таким древним легаси-кодом, что это становится важно.
                                                                                        0
                                                                                        Дак вот я и пытаюсь ее найти. Я привык пользоваться моделями с практической точки зрения, и задачка про мешки подходит для этого лучше всего. Дейкстра представляет массив как диапазон, но зачем? Ведь это система для хранения данных. У меня в ряд стоят 10 мешков, мне нужен третий из них (третий элемент массива), и я беру мешок под номером три (удивительно). С какой стати мешок под номером три должен быть вторым. Следующий мешок, соответственно, будет иметь номер N + 1, где N — номер предыдущего мешка. В итоге Дейкстра, представляя себе массивы в виде диапазонов, объяснил почему диапазон должен начинаться с нуля (он и должен начинаться с нуля, ибо диапазон), однако он не объяснил почему это удобно, о чем я и спрашивал, в итоге его объяснение вызвало больше вопросов, чем дало ответов, я уж не говорю о том что нужно всегда помнить о том, чтобы начать массив с нуля, и не забыть вычесть единицу с конца, и главное зачем? Нет, понятно если бы ответ на этот вопрос был, и я бы действительно понял что это удобно, но пока мне кажется что все считают что это удобно потому-что так считает Дейкстра. Поэтому я и задал вполне конкретный вопрос, ответ на который я не нашел в заметке Дейкстры.
                                                                                          0
                                                                                          У меня в ряд стоят 10 мешков, мне нужен третий из них (третий элемент массива), и я беру мешок под номером три (удивительно).
                                                                                          Как часто вы пишите программы, в которых берёте 3ий мешок из 10?

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

                                                                                          я уж не говорю о том что нужно всегда помнить о том, чтобы начать массив с нуля, и не забыть вычесть единицу с конца, и главное зачем?
                                                                                          Откуда у вас взялась та единица, которую вы собрались вычитать? Ответьте на этот вопрос — а потом уже можно будет обсуждать.

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

                                                                                          Поэтому я и задал вполне конкретный вопрос, ответ на который я не нашел в заметке Дейкстры.
                                                                                          А вы его там искали? Там всё достаточно подробно и аккуратно написано… но да, цепочка включает в себя несколько шагов, в логику уметь надо.
                                                                                            0
                                                                                            Как часто вы пишите программы, в которых берёте 3ий мешок из 10?

                                                                                            Всегда, господи, всегда

                                                                                            Item[] items = new Item[10]; // Массив из 10 элементов Item
                                                                                            
                                                                                            for (item : getItems ()) {
                                                                                              items[] = prepareItem (item); // Производим какие-то преобразования над этим элементом
                                                                                            }
                                                                                            
                                                                                            Item output = items[3]; // Получаем третий мешок

                                                                                            Мы же с вами понимаем что под мешками подразумевается что-то абстрактное, правда? Это могут быть фильмы, обложки альбомов, какие-то списки. Я надеюсь вы программист? Или все же нет? Может быть проблема в этом?
                                                                                              –1
                                                                                              надеюсь вы программист?
                                                                                              Я-то да, вы, боюсь — таки нет. Когда я спрашивал: «как часто вы пишите программы, в которых вы берёте 3й мешок из 10?» я имел в виду «как часто вы вообще ручками указываете эти числа».

                                                                                              Item[] items = new Items[10];
                                                                                              
                                                                                              for (item : getItems ()) { // getItems - массив из трех элементов
                                                                                                items[] = prepareItem (item); // Производим какие-то преобразования над этим элементом
                                                                                              }
                                                                                              
                                                                                              Item output = items[3]; // Получаем третий мешок
                                                                                              
                                                                                              И вот вы прямо так и пишите? И «10» и «3» прямо в код забиты? Что ж вы такое программируйте, позвольте узнать?

                                                                                              Мы же с вами понимаем что под мешками подразумевается что-то абстрактное, правда? Это могут быть фильмы, обложки альбомов, какие-то списки.
                                                                                              И при этом у вас всегда будут фильмы в количестве 10 штук и ровно 10 альбомов?

                                                                                              Откуда чиселко-то взялось? Вы об этом подумали?

                                                                                              Ответ: оно либо пришло «сверху» (и тогда вам пофиг — начинается массив с нуля, с единицы или с «сакрального» числа 42), либо вы его вот прямо тут же — как-то высчитываете (а в этом случае нумерация с нуля удобнее — и Дейкстра описывает почему).
                                                                                                0
                                                                                                Просто программеры сразу понимают что под абстрактными мешками может подразумеваться что угодно…

                                                                                                И «10» и «3» прямо в код забиты?

                                                                                                Это же просто пример, они могут приходить откуда угодно, это может быть ID из БД, например (кстати любые SQL-решения начинают с 1, что тоже называется у них индексом, но все говорят что это, мол, 78 год, не объясняя как это влияет на нумерацию. То есть из того, что я понял, идет какой-то прогресс, но какова его цель — мне до сих не понятно). Как и фильмов у меня может быть 7458 (число взято при подсчета строк из БД). Если в БД у меня 7458 строк, значит сколько у меня фильмов? Уж не 7457, правда? Но радует что хоть все SQL (и не важно что, мускул, PostgreSQL) пошли правильным путем.
                                                                                                  0
                                                                                                  Это же просто пример, они могут приходить откуда угодно,
                                                                                                  А ещё они могут вычисляться. И, вы не поверите, ЭВМ — это-таки электронная высчилистельная машина, так что вопрос вычислений — от тут основной.

                                                                                                  кстати любые SQL-решения начинают с 1, что тоже называется у них индексом, но все говорят что это, мол, 78 год, не объясняя как это влияет на нумерацию.
                                                                                                  Очень просто: изначально Fortran, в 1956м и Cobol, в 1959м, были созданы с использованием массивов, начинающихся с нуля. Ну потому что хрустального шара ни у кого нет — а вот эти вот самые сравнения с мешками говорили о том, что начинать с единицы — вполне нормально. Потом, да, люди поняли, что считать с нуля — удобнее. Но BCPL появился в 1966м и к началу 70х, когда создавался SQL, ещё не показал превосходства над старичками.

                                                                                                  Потому в SQL индексы нумеруются «по старинке», с нуля.

                                                                                                  А вот почему SQL так и остался основным языком запросов для баз данным — можно рассуждать долго, но это у точно не потому, что он индексы с единицы нумерует.

                                                                                                  Если в БД у меня 7458 строк, значит сколько у меня фильмов? Уж не 7457, правда?
                                                                                                  Если это DBF — то именно 7457. Ибо первая строка занята под системные нужды. А если другая, более сложная, база, то может быть и меньше.

                                                                                                  Но радует что хоть все SQL (и не важно что, мускул, PostgreSQL) пошли правильным путем.
                                                                                                  Они не «пошли правильным путём» — они все просто реализовывают стандарт. А что стандарт неудобный… ну так лучше такой, чем никакого. NOSQL базы, кстати, часто нумеруют объекты с нуля, так как совместимость со стандартами поддерживать не нужно.
                                                                                                    0
                                                                                                    Плюс первичный ключ в SQL никто не мешает начинать хоть с --42.
                                                                                              0
                                                                                              Откуда у вас взялась та единица, которую вы собрались вычитать? Ответьте на этот вопрос — а потом уже можно будет обсуждать.

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

                                                                                              То есть при нумерации с нуля последний элемент имеет номер N — 1, а не N, как должно быть по логике вещей, то есть последний мешок должен иметь номер 9, а не 10.
                                                                                                0
                                                                                                Но ведь есть и обратные ситуации. Нам нужно записать несколько мешков картошкобайтов по определенному адресу, или отобразить мешки на экране — не суть. В таком случае проще всего описать это как:

                                                                                                for (i=1;i<=10;i++)
                                                                                                {
                                                                                                Ext_SRAM_write(meshok_kartohi[i], start_address + i * sizeof(meshok));
                                                                                                }

                                                                                                Но в таком случае всегда первый мешок окажется не на start_address, а на месте, в котором должен быть второй. И тут или start_address пересчитывать нужно, или (i-1) лепить. Причем (i-1) будет потом всплывать вообще везде, где к этим мешкам обращаться будем.
                                                                                                0
                                                                                                так это… в любом цикле до длины массива — 1. или если я точно знаю количество элементов, то перебираю до числа на один меньше, чем это количество.
                                                                                                а взять нужно тот мешок, что выбрал юзер. если он выбрал 5, то 4 элемент массива…
                                                                                                  +1
                                                                                                  а взять нужно тот мешок, что выбрал юзер. если он выбрал 5, то 4 элемент массива…
                                                                                                  Вы уж меня извините, я против юзеров ничего не имею, но на каждый массив, в котором что-то выбирает юзер у вас в программе сотни и тысячи массивов, в которых юзер ничего не выбирает.

                                                                                                  Ну собственно «масштабы бедствия» легко показывает простейшая прикидка: процессор в вашем сотовом — это что-то на 2-3 гигагерца и 4-8 ядер. То есть «оно» выполняет в секунду порядка десяти миллиардов операций. И при этом — «оно» «тормозит». Не всегда, но часто.

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

                                                                                                  Так с какого перепугу нужно акцентировать внимание на том, чего, в общем, в программе — исчезающе малое количество, а не на том, чем там много?
                                                                                                    +1
                                                                                                    а потому что для перебора всего или для поиска по условию — есть другие вариации, например. а вот сколько из-за этого возникает ошибок, когда берется не тот элемент (5, а не 6) или происходит выход за границу массива (в одном случае из десятка тысяч операций? или такого не бывает и вокруг принцессы и единороги бегают?
                                                                                                    хотя это не та вещь, которая заслуживает холивара тупоконечников с остроконечниками)
                                                                                                +1
                                                                                                У меня в ряд стоят 10 мешков, мне нужен третий из них (третий элемент массива), и я беру мешок под номером три (удивительно). С какой стати мешок под номером три должен быть вторым

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

                                                                                                Вспомним, что в многих Западных странах нумерация этажей начинается с нуля: «первый этаж — нужно подняться на один этаж, -1 спуститься на один этаж, нуль — остаться на том же этаже где вошел.»

                                                                                                В случае с мешками тот же принцип — сначала дойти до первого мешка в ряду, а потом просто отсчитывать на сколько мешков нужно дойти.
                                                                                                  0
                                                                                                  «сделай два шага в сторону и возьми мешок»

                                                                                                  Это простите откуда откуда берется количество? Почему не три шага, не один, а именно два? Если учитывать расстояние между ногами (манипуляторами, я бы сказал), то количество перемещений этого манипулятора может быть вообще произвольным.

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

                                                                                                    Подвала может и не быть или вниз может идти подземный паркинг на 5 этажей. Тем не менее все равно все идет с нуля.

                                                                                                    Это простите откуда откуда берется количество? Почему не три шага, не один, а именно два?

                                                                                                    Вы стоите у первого мешка, сделав шаг в сторону (считаем что шаг = ширине мешка) будете стоять у второго, сделав еще шаг в сторону у третьего.

                                                                                                    Это очень удобно, если вы програмируете манипулятор, ему важно на сколько нужно смещаться, а не какой именно мешок в ряду. То есть с точки зрения манипулятора второй мешок удобнее, чем третий.

                                                                                                    Поэтому считать с единицы удобно для сложения/вычитания человека, но вот для смещения удобно считать с нуля. Просто в вас говорит привычка, когда учили считать с единицы, инопланетяне легко могут все считать с нуля (если им важнее ответ какой это элемент по порядку).
                                                                                                      +1
                                                                                                      Если учитывать расстояние между ногами (манипуляторами, я бы сказал), то количество перемещений этого манипулятора может быть вообще произвольным.
                                                                                                      Нет. Не произвольным. Это будет «два (==индекс мешка) умноженное на некую константу».

                                                                                                      А если нумеровать с единицы — формулы будут более сложными.

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

                                                                                                      Ещё раз: что ж такое вы пишите, что у вас в коде — то константы странные откуда-то появляются, то третий мешок можно унести только если первые два уже забрали…
                                                                                                        0
                                                                                                        «два (==индекс мешка) умноженное на некую константу»

                                                                                                        Дак я это и спрашиваю, почему индекс-то нулевой, если даже в SQL (во всех) он 1?

                                                                                                        Ещё раз: что ж такое вы пишите, что у вас в коде — то константы странные откуда-то появляются, то третий мешок можно унести только если первые два уже забрали…

                                                                                                        Я еще раз говорю. Это пример. Специально для вас. Захардкодил, чтобы не было вопросов откуда они берутся, ибо не важно откуда они берутся. Я просто констатировал факт что получить нам нужно фильм с индексом три. Три. Три — это значит запись в БД номер три. Раз-два-три. Три. Даже не знаю как еще это можно объяснить.

                                                                                                        то третий мешок можно унести только если первые два уже забрали…

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

                                                                                                        То есть вы всегда и всюду обрабатываете массивы сначала до некоего элемента?

                                                                                                        Нет, я не всегда «всегда и всюду обрабатываю массивы сначала до некоего элемента», я просто хочу получать элемент по его номеру, а не по номеру, постоянно вычитая из него единицу, а не как в SQL, поэтому и спросил чем это удобно, но увы.
                                                                                                          0
                                                                                                          То есть мой пост вы проигнорировали?

                                                                                                          Дак я это и спрашиваю, почему индекс-то нулевой, если даже в SQL (во всех) он 1?

                                                                                                          Он нулевой потому что так удобнее давать команды на смещение, если стоишь у первого мешка. Если ты стоишь у тысячного мешка команда сдвинься на 2 мешка в сторону намного удобнее, чем отсчитай 1003 мешок. Нулевой мешок сделан по аналогии.
                                                                                                            0
                                                                                                            если вы стоите у тысячного мешка и сделаете два шага в сторону, то вы не получите 1003 мешок…
                                                                                                            +1
                                                                                                            Дак я это и спрашиваю, почему индекс-то нулевой, если даже в SQL (во всех) он 1?
                                                                                                            Тут скорее нужно спросить с какого перепугу он в SQL с 1 начинается… И ответ очень простой: SQL — это 1974й год, задолго до Дейкстры и прочего. Так что да, увы и ах, в SQL — он начинается с единицы. Это неудобно, но совместимость — важнее.

                                                                                                            Я еще раз говорю. Это пример. Специально для вас. Захардкодил, чтобы не было вопросов откуда они берутся, ибо не важно откуда они берутся.
                                                                                                            Наоборот — это и есть единственное, что имеет смысл обсуждать. Если индексы вам «даны свыше», откуда-то «снаружи» — то вообще не имеет смысл обсуждать какие они. Можно хоть 42 начинать и считать тройками: в массиве из десяти элементов будут элементы 42, 45, и так далее — до 69. Если кто-то за вас всё посчитал — то вам вообще всё неважно.

                                                                                                            А вот если вы таки реально этот массив разместите с адреса 42 (ну, скажем, у вас микроконтроллер), то адрес последнего элемента (69й) у вас получится регко и просто, а если вы будете нумеровать элементы с единицы, то считать будет менее удобно.

                                                                                                            Я предполагал что на конкретный вопрос я получу конкретный ответ, а не придирки, так что у меня напрашивается вывод что ответа у вас по сути нет.
                                                                                                            Для человека типа вас, который предлагает выбирать — ехать в Сидней из Москвы на поезде или лететь на самолёте, но при этом игнорирует разные «несущественные» детали типа цены вопроса и времени, необходимого на такую поездку — его действительно нет. и быть не может.

                                                                                                            Потому что вы игнорируете ту часть, которая, собственно, позволяет сделать выбор.
                                                                                                        0
                                                                                                        Ну хорошо, но говорим-то мы о программировании. С товарищем ниже дискутируем сейчас на эту тему, но безуспешно. Мне нужно получить из БД фильм номер 7458. Первый фильм у нас будет иметь номер 1 (кто бы мог подумать) ), нужный нам — 7458, поэтому чтобы получить инфу о фильме номер 7458 (запись в БД номер 7458), мы и получаем инфу о нем по этому номеру записи в БД. Это же так просто казалось бы.
                                                                                                          +1
                                                                                                          мы и получаем инфу о нем по этому номеру записи в БД.
                                                                                                          Путём примения магического заклятия получаем? Или как?

                                                                                                          Это же так просто казалось бы.
                                                                                                          Для человека, не умееющего считать — вообще всё просто.
                                                                                                            0
                                                                                                            Путём примения магического заклятия получаем?

                                                                                                            Дайте-ка угадаю, может быть из урла страницы? Или может быть из другой БД или любой другой системы хранения данных?

                                                                                                            Для человека, не умееющего считать — вообще всё просто.

                                                                                                            Правильно, инфу о фильмах нужно получать не по его записи из БД, а по Виета через дискриминант, ибо где-то же должна математика пригодиться, зачем же казалось бы у меня в вузе было пять математик, теперь можно в уме вычитать из порядкового номера нужного элемента единицу на лету…

                                                                                                            а если вы будете нумеровать элементы с единицы, то считать будет менее удобно.

                                                                                                            Единицу прибавлять будет менее удобно? Не это ли мы делаем, только вычитая ее?

                                                                                                            Так что да, увы и ах, в SQL — он начинается с единицы.

                                                                                                            То есть вы расстроены? Вам легче каждый раз единицу вычитать перед получением нужной записи из БД, если можно этого не делать? Ну видать и правда кто-то очень расстраивается что в программировании математика не нужна, а так все математики умеют вычитать единицу из номера элемента массива, не зря все-таки мы вузы кончали…

                                                                                                            P. S. Я теперь могу комментить только раз в час, ибо кто-то посчитал что таким образом я наконец все пойму, поэтому вынужден раскланяться, ибо оставляя один коммент в час, мы так неделю будем общаться.
                                                                                                              0
                                                                                                              Непонятно, как программист может не понимать, что когда в системе миллиарды обращений по месту памяти в массиве (а в современных системах это обычное дело), то лишнее вычитание единицы это миллаирды лишних операций вычитаний каждую секунду.
                                                                                                                +2
                                                                                                                Это нормально. Времена, когда, условно говоря, программист знал — какие транзисторы из какого состояния в какое переходят, когда программа исполняется прошлы давным-давно.

                                                                                                                Сегодня внушительный процент программистов не представляет как компьютер работает в принципе — для них это коробка с магией, куда можно подмешивать разные «зелья» типа NGINX'а и прочего.

                                                                                                                И то, что принципиальная разница между движком NGINX'а и движком какого-нибудь форума не в том, что один исполняет «быструю и ограниченную» магию, а второй «забористую, но тяжёлую», а в том, что в NGINX всё реализовано так, что огромное количество «ненужных» проверок не исполняется в принципе — но за это приходится платить тем, что простейшая ошибка приведёт не к сообщению об ошибке, а к тому, что программа начнёт неизвестно что делать… им неведомо.

                                                                                                                Если у нас есть 7458 фильмов — то это обязательно в SQL-базе всё будет лежать… и даже думать не нужно над тем — почему так, и какие ресурсы для этого потребны. И как с подобными масштабами люди справлялись на какой-нибудь Искре-125 — они и представить себе не могут.

                                                                                                                То есть да — в этом мире, действительно, понять почему кто-то может хотеть какие-то там вычисления ускорить и упростить невозможно. В конце-концов в мире людей, работающих на «магических» компьютерах нет никакой разницы между реальным массивом, состоящим из реальных байтов, и строкой в базе данных — нет никакой.

                                                                                                                P.S. Вообще, конечно, подобные вещи были всегда. И с точки зрения разработчиков 60х-70х, которые делали схемы, где каждый транзистор (а до них — каждая радиолампа) были «на учёт» то, что сейчас люди делают на всяких микроконтроллерах — это тоже безумное расточительство… Но вот принципиальный отказ от учёта материального мира и полный переход к «магическому»… вот это, если честно, меня удивляет.

                                                                                                                Я, как бы, не смогу сделать схему на считанных транзивторах и, если мне потребуется, выберу, скорее, контроллер помощнее, чем буду пытаться вписаться в 30-40-50 байт уж каких-то совсем младших моделей… но я не называют людей, которые с ними возятся «шарлатанами». А вот Web-поколение… очень часто для них SQL или JavaScript — это вещи реальные, а вот всякие байты и μopы — это что-то неральное, почти не существующее… хотя на чём держатся эти SQL'и JavaScript'ы, если не на байтах и μopах — науке неведомо. На трёх черепахах, наверное.
                                                                                                                  –2
                                                                                                                  Извините, но мне кажется вы вообще не знаете как работает компилятор. Преобразование листинга программы проходит несколько этапов перед тем, как быть преобразованным в список команд процессору, дак вот на самом первом этапе он просто разбирается на лексемы, которые уже преобразуются в байт-код, построение дерева, когда файл может состоять из тысяч методов (что зависит от того, знаком ли разраб с декомпозицией или нет), осуществляется на этапе компиляции, а на интерпретируемых языках вообще на лету, мало того, лексический анализ осуществляется на лету даже для подсказок для используемых функций в мало-мальски мощных IDE вообще без компиляции, вы серьезно думаете что компилятору сложно добавить единицу при разборе файлов зная какую ячейку памяти занимает в массиве это значение? Не нужно пытаться придумывать что-то на ходу и подгонять решение под ответ.
                                                                                                                    +1
                                                                                                                    которые уже преобразуются в байт-код

                                                                                                                    Вы никогда не работали с асемблером, С, С++ или любым другим низкоуровневым языком? Вообще-то, байт-код существует лишь в достаточно ограниченном кол-ве высокоуровневых языков, в общем случае там будут машинные коды (байт код тоже превратиться в машинные коды в любом случае), а это немного другая история…

                                                                                                                    вы серьезно думаете что компилятору сложно добавить единицу при разборе файлов зная какую ячейку памяти занимает в массиве это значение

                                                                                                                    Серьезно, на низкоуровневых языках вроде C/С++/ассемблера и т.п. не просто сложно, а исключительно НЕВОЗМОЖНО. Они не имеют право менять ничего из написанного программистом, потому что тот может просто взять значение переменной и вручную обратиться по адресу памяти и никакого компилятора там уже не будет.

                                                                                                                    А теперь вспомнит откуда пошли большинство современных языков с СИ-синтаксисом.

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

                                                                                                                    P.S. К тому же, в практической жизни при движении в пространстве все люди используют отсчет с нуля: Когда бегут бежит марафон, бегун не считает, что первый киллометр это старт, первый киллометр будет после того как он туда добежит. Машина начинает ехать тоже не с первого км (см. нулевой киллометр). Обход массива это движение в пространстве (имен) и там вполне разумно использовать естественный для пространства отсчет с нуля (нуль означает что мы никуда еще не двигались).

                                                                                                                    Просто нужно немного шире смотреть на системы отсчетов и можно понять, что отсчет с единицы далеко не единственный даже в повседневной жизни людей, которые вообще не знают о программировании.
                                                                                                                      –2
                                                                                                                      А вы знаете, наверное проблема в том, что я пишу на Яве, в общем детский сад да и только… Да и вообще напридумывали всех этих Питонов и Нод, раньше вон на перфокартах писали, и ничего. То есть если я правильно понял, отсчет с нуля в современных языках — это тянущийся со времен С/C++ рудимент, не более?
                                                                                                                        0
                                                                                                                        А вы знаете, наверное проблема в том, что я пишу на Яве, в общем детский сад да и только…

                                                                                                                        Вы шутите, а я вот со своими 15 годами на Java, [см список статей] (и знанием десятка других языков) все больше прихожу к мнению, что Java это один из языков, который специально упрощали, чтобы любая мартышка могла работать… не синьером, а хотя бы джуном на подтанцовке. Другие аналоги — 1C, PHP, C#. Это не плохо, просто факт и полезно джависту переодически заглядывать в другие языки для саморазвития.

                                                                                                                        А вот C++ или фреймворки JS наоборот скорее искуственно усложняли, чтобы конкуреции у разрабов было меньше. Тоже ИМХО.

                                                                                                                        отсчет с нуля в современных языках — это тянущийся со времен С/C++ рудимент, не более

                                                                                                                        Не столько рудимент, сколько традиция (в теории, при создании Java/С#/JS никто не мешал начать и с 1). Но в принципе, сейчас, да, при создании высокоуровнего языка с нуля, никто не мешает начинать хоть с 42, компилятор позволит в большинстве случаев.
                                                                                                                          0
                                                                                                                          Java это один из языков, который специально упрощали, чтобы любая мартышка могла работать

                                                                                                                          Упрощали?! Простите-с, но мы наверное о разных Явах говорим. Более многословного языка я в жизни не видывал, хотя видел я так же не мало. В ней даже банальная запись в файл это боль, потому-что нужно городить велосипед, так как по сути просто записать в файл из коробки она не может, нужно городить решение, и не факт, что оно окажется оптимальным, особенно при больших данных, поэтому джунам в нее вообще суваться из-за этого не стоит. Ее разрабы пошли в сторону гибкости, вот это им удалось на славу, уж что есть — то есть, ибо что она умеет из коробки, дак это потоки, причем не важно какие — FileInputStream, ZipInputStream, и т. д., благодаря чему можно с легкостью записать файл на сервер, открыв OutputStream на сервере и писать в него FileInputStream, но это все при необузданной многословности, графомании, я бы даже сказал. Мне она нравится за ее строгую типизацию, которая не раз спасала, и действительно красивую реализацию ООП везде, ну и за потоки как раз. Вы ее не C# случайно путаете? Это да, менее многословная Ява с динамической типизацией и кучей удобными методами из коробки.

                                                                                                                          И да, выражаясь фигурально, я привык писать правильно, и если я поймал какой-то баг, то я лучше потрачу неделю и его найду, чем забью, надеясь что потом он когда-нибудь да и всплывет. К чему вы писали про «милларды лишних операций вычитаний каждую секунду», если ни один язык не компилится в С/С++, в котором «невозможно» работать с кодом, он скармливается какой-нибудь LLVM или clang, которым вообще не важно какой в них подается код, ибо он преобразуется синтаксическим анализатором?
                                                                                                                          А быть против этого, прикрываясь традициями, как-то странно, любое развитие языков это прогресс, ничего не стоит на месте, вы что, предлагаете ходить на реку за водой, а не водопроводом пользоваться, мол это мартышки краны открывают, а тут пробежался, взбодрился, красота, еще и закалился, а тут и вода у них горячая, ни закалки, ни движения? Поэтому мине несколько странно такое слышать если честно.
                                                                                                                            0
                                                                                                                            > В ней даже банальная запись в файл это боль, потому-что нужно городить велосипед, так как по сути просто записать в файл из коробки она не может

                                                                                                                            Никакой боли и велосипедов, куча способов на выбор.
                                                                                                                              0
                                                                                                                              Спасибо, но у меня своя библиотека для этого (что не лишает меня права задавать такие вопросы). Я имею ввиду что она умеет из коробки, если сравнивать ее с другими языками. А боль для меня — это куча писанины, а так же вероятность применить решение, которое окажется неоптимальным в плане производительности.
                                                                                                                                0
                                                                                                                                > Я имею ввиду что она умеет из коробки, если сравнивать ее с другими языками.

                                                                                                                                А чем вышеперечисленное не «из коробки»? Оно аж с 7 версии появилось, кстати.

                                                                                                                                > сравнивать ее с другими языками

                                                                                                                                Давайте сравним с другими языками :) С Go например, или с PHP. Тот же самый кусок кода на несколько строк.

                                                                                                                                > А боль для меня — это куча писанины

                                                                                                                                Три строки — это куча писанины? Ну я знаю, что в некоторых языках можно в одну строку, но по-моему это так себе аргумент.
                                                                                                                                Апдейт — нашелся и для java вариант в одну строчку если что, принцип вот такой:
                                                                                                                                Files.write(Paths.get("/tmp/numbers.txt"),
                                                                                                                                     (Iterable<String>)IntStream.range(0, 5000)
                                                                                                                                        .mapToObj(String::valueOf)::iterator);
                                                                                                                                


                                                                                                                                > а так же вероятность применить решение, которое окажется неоптимальным в плане производительности

                                                                                                                                Так а мозги вам для чего? В любом языке можно сделать криво.
                                                                                                                        +1
                                                                                                                        Серьезно, на низкоуровневых языках вроде C/С++/ассемблера и т.п. не просто сложно, а исключительно НЕВОЗМОЖНО. Они не имеют право менять ничего из написанного программистом, потому что тот может просто взять значение переменной и вручную обратиться по адресу памяти и никакого компилятора там уже не будет.
                                                                                                                        это вы про то, что компиляторы под с++ активно выкидывают ненужные команды и оптимизируют код, если считают нужным? о чем постоянно в одном блоге на хабре напоминают? )
                                                                                                                          +1
                                                                                                                          Выкинуть код это одно, а манипулировать значением переменной и памяти это другое. Ну вот возмет програмист указатель на массив и обратится по смещению напрямую, как тут заменять индексы? В любом языке есть безопасные и небезопасные оптимизации кода, вот манипуляция с индексами — опасная.
                                                                                                            +1
                                                                                                            Ведь это система для хранения данных.

                                                                                                            Именно. Один из вариантов такой системы, имеющий большое практическое значение — набор элементов одинакового размера, последовательно расположенных в памяти.
                                                                                                            Чтобы прочитать/записать элемент с номером N нужно знать его адрес в памяти.
                                                                                                            Который равен адрес_первого_элемента+(N-1)*размер_элемента
                                                                                                            Вместо того, чтобы каждый раз писать (и вычислять) N-1 можно первый элемент считать нулевым.
                                                                                                            Вот и вся глубокая философия

                                                                                                              +1
                                                                                                              зато теперь вы обязаны каждый раз уменьшать переменную на 1, когда указываете на нужную или границы массива, из-за чего периодически происходят ошибки выхода за оные у тех, кто это забыл сделать…
                                                                                                                0
                                                                                                                Как раз Дейкстра рассказывает про достаточно чистый эксперимент: в Mesa как раз были предусмотрены всевозможные виды инревалов (вот прям как в математике: [M..N], [M..N), (M..N], (M..N)), нумерация массивов с любого числа до любого… экспериментируй — не хочу.

                                                                                                                И вот, собственно, наблюдения показали, что текущий вариант — нумерация от нуля, интервалы включают левый конец и не включают правый… вызывают меньше всего ошибок. Как, собственно, Дейкствра и предсказывал.

                                                                                                                А вот то, что устроили в C (есть отдельно указатели и отдельно «размер массива», а массива, как структуры данных, в принципе нет) — это, уже, извините, из другой оперы.

                                                                                                                Тут проблема, в большинстве случаев ошибки выхода за границу не из-за пресловутой единицы, а просто из-за того, что никаких проверок нет в принципе.
                                                                                                                  0
                                                                                                                  ну а как проверять на ошибку к доступу не к тому элементу по списку, если берется конкретный?
                                                                                                                  зачастую это только когда полностью чужой код переделываешь — понимаешь… было у меня раз такое, хотя я не программист…
                                                                                                                  0
                                                                                                                  зато теперь вы обязаны каждый раз уменьшать переменную на 1

                                                                                                                  какую переменную нужно уменьшать на 1 ?


                                                                                                                  вот, например, перемножение матриц: где здесь хоть раз, хоть явно, хоть неявно (в генерируемом машинном коде) встречается значение '1' ?


                                                                                                                  for(i = 0; i < m; i++)
                                                                                                                      for(j = 0; j < q; j++)
                                                                                                                      {
                                                                                                                          C[i][j] = 0;
                                                                                                                          for(k = 0; k < n; k++)
                                                                                                                              C[i][j] += A[i][k] * B[k][j];
                                                                                                                      }

                                                                                                                  с другими операциями примерно так же. '1' всплывет только в момент вывода результатов в традиционно-привычной человеку форме.


                                                                                                                  из-за чего периодически происходят ошибки выхода за оные у тех, кто это забыл сделать…

                                                                                                                  есть множество способов выстрелить себе в ногу, но это, наверное, один из самых детсадовских

                                                                                                                    0
                                                                                                                    ну да, а чему у вас m и n равны? неужели это же магические переменные, которые сами знают номер последнего элемента массива? и которые есть во всех языках программирования?
                                                                                                                    и как обратится к конкретному элементу массива, зная какой он по счету?
                                                                                                                    а про один из самых детсадовских… паааанимаете, самый детсадовский — это вообще обратится к левой переменной, вместо нужной. кого-то это остановило так делать регулярно? так и тут, просто чаще всего при такой ошибке программа будет постоянно ошибку выдавать, если только цикл не прерывается раньше по условию.
                                                                                                                      0
                                                                                                                      а чему у вас m и n равны

                                                                                                                      внезапно — размерности матриц. в штуках элементов на ряд/столбец


                                                                                                                      и как обратится к конкретному элементу массива, зная какой он по счету?

                                                                                                                      'какой он по счету' зависит от того, кто считает: машина по объективным причинам считает с нуля. Человек по субъективным (т.к. считать научился задолго до освоения абстракции 'ноль') — с единицы.
                                                                                                                      В случае когда необходимо взаимодействие машины и человека необходим перевод из одной системы в другую. Внутри машины разумней считать, как удобно ей.


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

                                                                                                                        0
                                                                                                                        ну да, а чему у вас m и n равны? неужели это же магические переменные, которые сами знают номер последнего элемента массива? и которые есть во всех языках программирования?

                                                                                                                        Кстати в PHP есть функции взятия индекса последнего (и первого) элемента массива. А его ругают.
                                                                                                                          0
                                                                                                                          Кстати в PHP есть функции взятия индекса последнего (и первого) элемента массива. А его ругают.
                                                                                                                          Естественно ругают. потому что вы можете взять первый элемент и последний, пройтись между ними… и не увидеть всех элементов массива.

                                                                                                                          А сами по себе эти функции — ничем не плохи, конечно. Даже сурово-безопасной Ada они есть.
                                                                                                                +1
                                                                                                                десятичные флоаты используются

                                                                                                                таким древним легаси-кодом

                                                                                                                Это не легаси код. А решение для специфичных (но при этом весьма широко распространенных) задач.
                                                                                                                Знаете сколько рублей в миллиарде копеек? Если считать в 32-bit float, то 9999999 руб. 78 коп. Использование double принципиально проблему не решает. А вот DFP — да.

                                                                                                                  0
                                                                                                                  А у вас есть история, как из-за этого начался мировой финансовый кризис 2041-2045? Было бы круто.
                                                                                                                    0

                                                                                                                    На самом деле он случился в черный понедельник января 2038 из-за чуть-чуть другого (действительно) легаси кода.

                                                                                                                    0
                                                                                                                    Это не легаси код.
                                                                                                                    Извините — но это всё-таки «легаси-код». Копейки — это как раз не проблема. Можно прямо в копейках всё считать и вообще дроби не нужны.

                                                                                                                    Дроби нужны в более сложных финансовых операциях — но Бог ведь не заставляет мерить акции, опционы и высчитывать валютные курсы в ⅒ и степенях этого числа. ½ работала бы ничуть не хуже, а во многих случаях даже лучше, быстрее.

                                                                                                                    Однако понятно, что в мире, где уже не одно столетие от дюймов и футов не могут отказаться перехода от ⅒ к ½ ни в какие разумные сроки не случится. Отсюда и DFP…
                                                                                                                      0
                                                                                                                      Дроби нужны в более сложных финансовых операциях
                                                                                                                      Более сложных чем что?
                                                                                                                        0
                                                                                                                        Чем просто купля/продажа. Если вы просто ведёте бухгалтерию — то вы можете просто считать в копейках и ошибок не будет. А если, скажем, процентные выплаты считаете — там уже степени появляются. И округление. И вот в этих рассчётах нужна плавучка. Десятичная или двоичная — неважно, важно, чтобы вы с банком одинаково считали.

                                                                                                                        Поскольку 100 лет назад на механических арифмометрах была десятичная плавучка — то и сегодня мы используем её. Других причин нету. Типичное Легаси.
                                                                                                                        0

                                                                                                                        При таких рассуждениях жрать белки-жиры-углеводы и окислять их кислородом воздуха — тоже легаси код.


                                                                                                                        Человек (и человеческие банки) считали в десятичной системе задолго до появления как эвм, так и арифмометров.


                                                                                                                        не одно столетие от дюймов и футов не могут отказаться

                                                                                                                        Отказываются от стандартов обычно либо в пользу объективно лучших, либо для унификации с (более сильными экономически/политически) соседями.
                                                                                                                        И если даже с дюймами вопрос неоднозначный, то с применяемой системой счисления… Всё-таки (пока что) машины для людей, а не люди для машин.

                                                                                                                          0
                                                                                                                          При таких рассуждениях жрать белки-жиры-углеводы и окислять их кислородом воздуха — тоже легаси код.
                                                                                                                          Конечно. Но это уже очень-очень древнее легаси, тут даже неизвестно сколько лет (или столетий?) на исправление уйдёт.

                                                                                                                          Всё-таки (пока что) машины для людей, а не люди для машин.
                                                                                                                          Но зачем, при этом, машинам усложнять жизнь, если вы всё равно сами рассчёты не делаете?
                                                                                                                  0
                                                                                                                  в php и ещё где-то идут с единицы.

                                                                                                                  Эээ, нет.
                                                                                                              +1
                                                                                                              В десятичной я всё же привык с 1 отсчёт начинать.
                                                                                                                0
                                                                                                                В десятичной я всё же привык с 1 отсчёт начинать.

                                                                                                                А если побежите марафон, то вы тоже стартовую точку будете считать первым киллометром? Или все-таки первый киллометр у вас будет когда вы киллометр уже пробежите?

                                                                                                                Представьте, что организаторы марафона попросили всех собирать, ну скажем, флажки у каждого км. включая старт. Тогда считая км, вы будите считать 0, 1… 10, считая флажки — 1, 2,… 11.

                                                                                                                В пространстве как раз во всех странах вполне естественно начинать отсчет с нуля (нулевой киллометр). Обход массива это тоже про обход пространство (имен) и его так же проще и удобнее считать с нуля, чтобы не выполнять постоянно вычитаний единицы.
                                                                                                                  +1
                                                                                                                  Считают не флажки, а промежутки между флажками. Стартовый флажок на нулевой отметке, но первый километр (да, именно так, с одной «л») — расстояние между нулевым и первым флажками.
                                                                                                                    0
                                                                                                                    первый километр (да, именно так, с одной «л»)

                                                                                                                    Меня особо повеселило, когда этот товарисч собственноручно привёл ссылку на https://ru.wikipedia.org/wiki/Нулевой_километр и подписал её… Ну, Вы догадались.

                                                                                                                      0
                                                                                                                      Правильно. Если аргументов нет — придирайся к опечаткам и орфографическим ошибкам.
                                                                                                                        0
                                                                                                                          0
                                                                                                                          у меня с этим справляется медленный и глючный интернет в паре сенсорным экраном планшета!
                                                                                                                          0

                                                                                                                          А я c Вами ни о чём и не спорю, чтобы какие-то аргументы приводить.


                                                                                                                          А если бы спорил, то отметил бы, что опечатки и орфографические ошибки ни в коей мере не характеризуют предмет спора — однако достаточно хорошо иллюстрируют начитанность/образованность спорящего и/или его отношение к читателям — а, следовательно, и задают стартовый уровень доверия к его высказываниям. Если при разговоре "лицом к лицу" первое впечатление о собеседнике составляется по, условно говоря, степени чистоты его костюма, то при разговоре в Интернете — по грамотности его высказываний и стилю общения.

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

                                                                                                                              Почитал одну из Ваших последних статей. Послал Вам несколько десятков исправленных ошибок. Много думал.


                                                                                                                              А насчёт "писать (статьи) с телефонов" — это уже откровенно демонстриует уровень отношения к читателям.

                                                                                                                                0
                                                                                                                                Ты заработал 40k репутации на stackoverflow, 5k звезд гихаба и 1.8 миллиона просмотров технических статей на хабре, но сделал это без УВАЖЕНИЯ… (с) Дон Вито Корлеоне

                                                                                                                                :)))))
                                                                                                                      0
                                                                                                                      неа, считать будем флажки с первого, нулевого флажка не будет. а километры будем считать по пробегу до второго флажка.
                                                                                                                      это как ваша ошибка с 1000 мешком и сдвигом на два, после чего вы предложили вручную отсчитывать 1003 мешок.
                                                                                                                      боюсь в данной теме вы как раз наглядно демонстрируете, почему считать с нуля — для некоторых плохо…
                                                                                                                        0
                                                                                                                        Боюсь, вы совсем не поняли, что я хотел сказать… А что до демонстрации… усы, лапы и хвост… технические статьи в моем профиля — вот мои докуументы… :)
                                                                                                                          0
                                                                                                                          в случае, когда я указал, что флажки мы начнем считать сразу и никакого нулевого у нас не возникнет. или что километр нулевой, как и прочие точки начала отсчета, никто в реальности не считает?
                                                                                                                          или я не верно понял инструкцию: стоишь у тысячного, сдвигаешься на два налево, а не вручную отсчитываешь 1003?
                                                                                                                          и да, вы же знаете, когда был придуман ноль в современной цивилизации и что его отсутствие никому особо не мешало что-либо считать, строить и т.п. долгое время?
                                                                                                                            0
                                                                                                                            или я не верно понял инструкцию: стоишь у тысячного, сдвигаешься на два налево, а не вручную отсчитываешь 1003?

                                                                                                                            Не поняли. Хорошо, если хотите занудства — будет занудство: если стоишь у тысячного элемента по системе отсчета с нуля, сдвигаешься на два элемента в сторону увеличения отсчета (так как налево/направо субьективно и зависит в какую сторону увеличивать числовой ряд), получаешь 1002 элемент в системе отсчете с нуля или 1003 элемент в системе отсчета с единицы. Это удобнее, чем отсчитывать 1003 элемент (в системе отсчета с единицы) вручную, начиная с самого первого. Так понятнее?

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

                                                                                                                            А вы знаете, что у ноля в современной математике на самом деле множество разных ролей:

                                                                                                                            — пустое множество (на поле вообще нет птиц), в том числе как результат арифмитических вычислений (было 2 овцы, волки сьели 2 овцы, получили пустой хлев),
                                                                                                                            — ноль как число в арифмитических операциях (2 + 0 = 2 и т.д.),
                                                                                                                            — начало координат,
                                                                                                                            — десятичный ноль для разделения разрядов (1000),
                                                                                                                            — ноль в двоичной арифметке (никто не мешает использовать вместо 1 и 0, использовать в ней x и y, к примеру).

                                                                                                                            На самом деле, это разные роли и они не обязательно должы быть у одной сущности (десятичный ноль не обязателен в 16 или 12ричной системе отсчета).

                                                                                                                            Когда говорят об изобретении нуля обычно говорят о том когда ноль стали использовать в арифмитических операциях, не только как результат, что на самом деле нетревиально, так как по большому счету с практической точки зрения сложение, вычитание с нулем имеет мало смысла (Петя принес 2 яблоко, а Вася — ноль яблок, какой смысл в последнем выражении, не проще вообще не учитывать Васю?), умножение на ноль еще большая абстракция (что значит взять 10 овец ноль раз?). Разумеется, ноль как число стали использовать, когда математика стало совсем абстрактной наукой. По сути, он как мнимая единица — в реальной жизни не встречается, но для хитрых математических/физических расчетов — полезен.

                                                                                                                            А вот пустое множество или начало координат вероятно существовали неявно в любом языке, иначе сложно передать полное отсутствие чего-либо, даже если для этого не использовалось отдельного символа или слова («хищников на поле нет»).

                                                                                                                            или что километр нулевой, как и прочие точки начала отсчета, никто в реальности не считает

                                                                                                                            Это не важно, использование синонима (старт, стартовая точка и т.д.) ничего не меняет, отсчет расстояния начинается с нуля, как его не называй.
                                                                                                                              0
                                                                                                                              Хорошо, если хотите занудства — будет занудство: если стоишь у тысячного элемента по системе отсчета с нуля, сдвигаешься на два элемента в сторону увеличения отсчета (так как налево/направо субьективно и зависит в какую сторону увеличивать числовой ряд), получаешь 1002 элемент в системе отсчете с нуля или 1003 элемент в системе отсчета с единицы. Это удобнее, чем отсчитывать 1003 элемент (в системе отсчета с единицы) вручную, начиная с самого первого. Так понятнее?

                                                                                                                              итак, для начала, стоя у 1000 элемента, вы должны понимать, что там 1001 мешок (к индексу N прибавляем 1), после чего из необходимого 1003-го вычесть 1001 и получить количество шагов: 2. Итого: 1003-n-1 (где n=1000).
                                                                                                                              То есть у вас ровно на один элемент рассуждений больше, чем если номер элемента равен его индексу, тогда из необходимого номера мешка 1003 вы вычтете сразу 1001 индекс/номер мешка и получите 2 шага влево от 1001 элемента. 1003-n (где n=1001).
                                                                                                                              Почему вы сравниваете нахождение у 1000 элемента и отсчет с нуля во втором случае? При неверных условиях сравнения всё сравнение обесценивается, как ложное.

                                                                                                                              Правильный и понятный ответ почему был дан другим пользователем, но не вами.
                                                                                                                                0
                                                                                                                                Хорошо, если хотите занудства — будет занудство: если стоишь у тысячного элемента по системе отсчета с нуля, сдвигаешься на два элемента в сторону...

                                                                                                                                Если для доступа к данным вы сдвигаетесь в сторону, отсчитывая шаги, то перед вами не массив а список


                                                                                                                                десятичный ноль не обязателен в 16 или 12ричной системе отсчета

                                                                                                                                Естественно, десятичному нулю не место в других системах счисления, там свои 16ричные и 12ричные нули

                                                                                                              +12
                                                                                                              Такие же автоматы с напитками стоят во владивостоке(их туда и привозят из японии), а теперь еще и в москве, в некоторых переходах в центре. Правда, и там, и там функцию розыгрыша банки отключили.

                                                                                                              А капля клея на конце ручки — стандартная практика для любых ручек, что дороже 30 рублей, постоянно вижу.
                                                                                                                +2

                                                                                                                Разве в Москве эта тема не загнулась уже? Ставили их там ещё году в 2017, пыталась фирма DyDo, но с ценником, полученным путём замены значка йены на значок рубля, далеко не уехать.
                                                                                                                В той же Москве открылась Мацуя и ценники там такого же плана, что-то мне подсказывает, что тоже не сильно долго просуществуют, продавая обычные рабоче-крестьянские котлеты с рисом по цене обеда в ресторане.

                                                                                                                  0
                                                                                                                  В этих автоматах сейчас не DyDo, а что-то импортозамещающее. Но они есть, например, пара в переходе на Сухаревской.
                                                                                                                    0

                                                                                                                    Вроде говорили, что чуть ли не квас с них продают теперь, поэтому и считаю, что не взлетело.

                                                                                                                    –1
                                                                                                                    Если это прям DyDo, то чего удивляться? Японский цены изначально выше, так ещё пошлины и тащить через пол глобуса.
                                                                                                                      0
                                                                                                                      DyDo остались еще. Просто сильно урезали количество, продав часть автоматов.
                                                                                                                      0
                                                                                                                      Это, небось, японские б/ушные автоматы DyDo — их русским сплавляют, причем без толковой документации и запчастей (им уж по сто лет)… Для нас выглядит здорово, да еще и работает… А в эксплуатации есть геморрой — хрен снимешь статистику продаж без специального принтера (механизм чумовой — принтер с 8-точечной термоголовкой, ползающей влево-вправо, как в матричнике, но по нынешним временам непрактичный) и внутренним протоколом VCCS (Vending Coca-Cola System) документацию на который надо покупать (или разбирать поток логгером — там не очень сложно). Есть к ним еще Bluetooth примочка для снятия отчетов, но ее японцы зажали…
                                                                                                                      А еще витрина акриловая здоровенная и менять ее дорого, когда расколотят…
                                                                                                                      По крайней мере, в Москве так…
                                                                                                                        0

                                                                                                                        О, а есть где-то статьи или ещё какая инфа об этих аппаратах на почитать?
                                                                                                                        Ковырялся только в аркадниках, там у них всё весьма своеобразно в какой-то степени, хотелось бы и про вендинг почитать :-)

                                                                                                                      +1
                                                                                                                      Как всегда, очень легко и интересно описано! Читал с удовольствием. Большое спасибо!
                                                                                                                        +13
                                                                                                                        Ручки поставляются с пластиковой каплей, фиксирующей шарик

                                                                                                                        Это стандартный (в том числе для китайских призводителей) метод «транспортной упаковки» для гелевых ручек и стержней. Чтобы не засохли до момента продажи и начала использования потребителем.

                                                                                                                        (Да, я в курсе, что в гелевых (роллерах) тоже шарик, но тем не менее – классические «шариковые» так не упаковывают.)
                                                                                                                          0
                                                                                                                          Это шариковая. Спасибо.
                                                                                                                            +2
                                                                                                                            Спасибо за статью, интересно!

                                                                                                                            Я люблю писать шариковыми ручками, в частности, обычно покупаю Cello Maxriter или Finer, так вот у них шарик тоже фиксируется пластиковой каплей. Понятно, что если продавец подает «витринный» образец, то капли там уже не будет.
                                                                                                                              +1

                                                                                                                              А кажется, что там картридж с жидкими чернилами, а не густыми.

                                                                                                                              +2
                                                                                                                              Не раз покупал в обычном Ашане шариковые ручки, из них многие продающиеся без упаковки, а то и с ней (кроме совсем уж дешевых), были также с «каплей». Правда, в основном, небольшой и прозрачного цвета.
                                                                                                                                0
                                                                                                                                Мои любимые ручки на работе — стоят в обычном магазине 99 евроцентов за 12 штук.
                                                                                                                                Они с капелькой красного цвета на конце. Шариковые, обычная паста красивого тёмно-синего цвета, а, главное, 1.0 толщина линии (что мне очень нравится).
                                                                                                                                0
                                                                                                                                похоже пока они до Сибири доезжают, то сильно портятся или им противопоказано вертикальное положение (в стандартных офисных крутилках), штук 5 в кабинет заказывал, все протекли через эту каплю((
                                                                                                                                +2

                                                                                                                                Из термометров ещё часто встречал в офисах комбинации термометр+барометр (или гигрометр), у которых под стрелками нанесена цветная шкала, а точка на пересечении стрелок отмечает на ней вероятность подхватить грипп.


                                                                                                                                Но вот да, интерфейсы в реале у них куда лучше, чем в софте. Да и в целом айти отстало лет на 20-30, как по процессам, так и по менеджменту.

                                                                                                                                  +1
                                                                                                                                  В B2B секторе есть очень много современных и удобных систем бухгалтерии, отчётности, командировок. Мне очень понравилось что когда сходил на мед осмотр то возврат средств за него прошёл в пару тапов в приложухе для смарта и фото самого чека — прога даже без ошибок распознала криво сфотканый на весу чек (а для японского распознавание не думаю что тривиальная задача как для англ.).
                                                                                                                                  А так же есть внутренние сайты типа аналога ютуба — ряд вещей типа камменты с привязкой к таймингу которые идут поверх самого видео очень интересны и удобны именно в развлекательном плане. Порой как и на хабре заходишь поглядеть видео только ради остроумных камментов потому что знаешь что такой трешак разнесут просто в пух и прах.
                                                                                                                                    0

                                                                                                                                    Это никовидео-то с платным HD и лагающим как чёрт на i7 2011 года в фирефоксе плеером интересен?
                                                                                                                                    Хотя контент там очень даже интересен, да, а вот сам сайт — на безрыбье, как говорится…
                                                                                                                                    А с B2B всё зависит от компании. И да, всякие филиалы амазонов и прочего за японские компании не считаются~

                                                                                                                                      0
                                                                                                                                      Да современный нико сильно испортился после полного редизайна.
                                                                                                                                      Но раньше там система камментов была более социализированная и интересная.
                                                                                                                                      А плейлесты составленные из фанатского творчества не вычищаются в нуль за пол года.
                                                                                                                                      да поэтому ютуб ему не ровня, да потому что на ютубе ремейки опенингов, вся музыка по тохе и многое другое порой вообще не живёт.
                                                                                                                                  +1
                                                                                                                                  У японцев удобно и продумано, но очень уж перебор с визуальным мусором. Стремление описать и задокументировать все часто не знает границ.
                                                                                                                                    +8
                                                                                                                                    место перепеленать оранжевого ребёнка, зелёного ребёнка и подправить макияж.

                                                                                                                                    Там зелёным цветом выделен не ребенок, а мужчина. Указывает, что сюда можно входить не только женщинам, но и мужчинам с детьми, кому надо.

                                                                                                                                      0
                                                                                                                                      У меня проблемы, или это всё же синий, а не зелёный цвет?
                                                                                                                                        +2
                                                                                                                                        Это сине-зелёный, восприятие зависит от гаммы вокруг. В помещении температура гаммы другая.
                                                                                                                                          0
                                                                                                                                          Переходите на мировосприятия японца. У них зелёный — это оттенок синего.
                                                                                                                                            0
                                                                                                                                            Думаю, это аой цвет.
                                                                                                                                            +2

                                                                                                                                            И это кстати, замечательно, что хоть где-то мужчина может перепеленать, а то почти всегда пеленальные столики только в женских туалетах. Очень неудобно

                                                                                                                                              0

                                                                                                                                              В Питере в большинстве ТЦ комната матери и ребенка это отдельное помещение.

                                                                                                                                                +2
                                                                                                                                                О том и речь, что в Японии есть «комната матери и ребёнка» и есть «комната отца и ребёнка».
                                                                                                                                                  +1
                                                                                                                                                  Там еще и внутри кабинок есть кресла для младенцев — пока делаешь свои дела, ребенка туда сажаешь. Мужской туалет не исключение.
                                                                                                                                                  +1
                                                                                                                                                  Зашёл я как-то в комнату матери и ребенка без задней мысли, очень надо было. А там сидят трое мам топлесс, и готовят обед своим чадам. Они были крайне возмущены моим появлением.
                                                                                                                                              +2
                                                                                                                                              Вот муляжи еды это безумно круто, причем выглядят очень натурально. На Сахалине это все дело активно используется. Предлагал в Новосибирске народу попробовать: выясняли, вполне реально, просто не хотят и все тут. Причем даже объяснение факта того, что вкусно выглядящая еда подымает продажи (а в случае с каким нить борщем — в разы) не помогает.
                                                                                                                                                +8
                                                                                                                                                “… но есть нюанс...”©
                                                                                                                                                Такой муляж – не только средство привлечения клиентов, но и своеобразная оферта – предложение товара лицом и обязательство, что он будет выглядеть именно так. А в случае, когда реальный продукт будет выглядеть не так (то есть чуть реже, чем всегда, в наших-то реалиях) это создаст дополнительную почву для конфликтов.