Pull to refresh

Comments 42

PinnedPinned comments

Ах, в очередной раз ошибка с нулевым индексом)

Посчитайте 1-й день года по Вашей формуле, у Вас получится 2-е января, т.е. на самом деле второй. Т.е. прибавлять 256 нужно к дате 31.12.2023, а не 01.01.2024. Тогда 256-й день получится 12.09.2024, всё правильно посчитано.

Просто у него первое января это нулевой день, а не первый...

А в Excel'е есть несуществующая дата 29.02.1900, и что? )

Хотя, может так и логичней, если праздник наступает в 0 часов 0 минут по прошествии 256 дней, то есть на 257-й день. Тогда действительно праздник надо сдвигать на 1 день вперёд (13 сентября в високосные годы и 14 сентября в обычные). У нас же Новый год наступает в 0 часов 0 минут 1 января, а не 31 декабря.

Автор просто немного путает количество значений и максимальное число. Поэтому когда он добавляет к 1-му января число значений появляется ошибся, а должен был добавлять максимальное 255. Так как у него 1-е января уже 0-й день и он посчитан.

UFO just landed and posted this here

Нольник или начальник)

Ох уж мне эти вечные споры... Я помню аналог про смену тысячелетия (31.12.1999-01.01.2000 или 31.12.2000-01.01.2001).

В целом, 256 - это максимальное число комбинаций, влезающих в байт (8 бит). У нас нет нулевого января - значит формально такая дата невозможна (ошибочна). То же относительно месяца. Чего не скажешь о времени - ибо "минута без времени" между 23:59 и 00:01 вполне возможна.

Идея о 13-ом сентября 2024-ого - она прямо в духе тех, кто отчет тысячелетий начал с 01.01.2001. И, если честно, тогда это все порядком надоело.

UFO just landed and posted this here

Если отсчитывать год с 0, то просто праздновать нужно день № 255, который является 256-м днем года. Если у вас есть 8 бит и вам надо присвоить каждому дню уникальную последовательность, то 12 сентября 2024 в день № 255 память закончится.

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

Купили мы с друзьями несколько ящиков пива (по 20 бутылок) и, открывая двадцатую бутылку, говорим: ооо, второй ящик начали

История из тех же лет, кстати )

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

А в 0-й раз почему не провели, в этом то вся и проблема. Вы опоздали с проверкой.

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

Я программист, а не маньяк, поэтому для бытовых примеров использую слова, принятые для бытового применения. Это, кстати, не навсегда. Например, раньше в русском и многих других языках были обособлены слова, обозначающие два предмета, второй номер и т. д., а сейчас хоть "2 человека идут (идута)", хоть "50 человек идут (идутъ)", почти никакой разницы. Так что и нулевые формы существительных, глаголов и прилагательных в будущем могут появиться (хотя, вероятность этого небольшая).

Комментарии... Есть какая-то забавная ирония во всех этих рассуждениях. Типичная off by one error. Праздновать два дня будем.

~$ date '+%d.%m.%Y'; date +%j
13.09.2024
257
~$ date -d '-1 days' '+%d.%m.%Y'; date -d '-1 days' +%j
12.09.2024
256

Это день эникейщика, если угодно - админа. День программиста - 10 декабря, конечно.

Насчёт приоритета Ады не уверен - всё таки до отладки на железе у неё не дошло, а в теории алгоритм ещё у Евклида был. Я бы за 9 сентября проголосовал )

Я всё же за леди Аду. Понятия "цикл" и "ячейка" дорогого стоит...

UFO just landed and posted this here

что она просто была дочкой разработчика языка программирования

Язык программирования от Байрона - это интересно )

не, просто Беббидж, видимо, ее настоящим отцом был. Такое нередко встречалось в благородных семействах...

Почитайте про леди Аду Лавлейс. В честь кого назван язык - дело десятое, в данном случае.

Евклидовы алгоритмы - последовательные действия получения конкретных результатов. Главное - нет оформления условных переходов, циклов и единиц памяти (ячеек) как сущностей и инструментов создания произвольных алгоритмов.

И вот именно это сделала Ада. Более того, она же сделала и первый баг в той самой первой программе.

Соглашусь, что у Евклида алгоритм недостаточно формализован для исполнения на механическом устройстве (хотя фактически там и цикл, и две ячейки памяти есть).

Более того, она же сделала и первый баг в той самой первой программе.

Вроде нашла баг в коде Бэббиджа, нет?

у Евклида алгоритм недостаточно формализован для исполнения на механическом устройстве 

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

Вроде нашла баг в коде Бэббиджа

Да, она делала поправки Бэббиджу. Но и в известной "распечатке" первой программы есть баг. Первый баг в программе!

Мы тоже в конце 90-х начале 00-х праздновали в день рождения леди Ады.

И это единственно правильное - то, как сами программисты отмечают. А правительство - что правительство, при чём тут оно?

Вот у энергетиков как стал день принятия ГОЭЛРО (и заодно самый короткий день в году) праздником, так и отмечался день энергетика 22 декабря, несмотря на несколько попыток правительства его переместить или отменить. И — правительство сдалось :-)

UFO just landed and posted this here

Мы от рождества Христова живем.

Год когда он был жив это нулевой или первый год ?

Там вроде 1-й год до н.э. сменился 1-м годом н.э. То есть, нулевого года не было.

UFO just landed and posted this here

Правильный день программиста уже был Sun Mar 24 2024 13:27:12 GMT+0300 (Москва, стандартное время)

Unixtime 1711276032 или 0b1100110000000000000000000000000

Следующий будет Wed Apr 16 2025 22:07:44 GMT+0300 (Москва, стандартное время) 😭

Впрочем я жду правильный день программиста в 2038 году

UFO just landed and posted this here

Простая команда прибавляет к началу года 256 дней.

1 + 256 = 257

Ах, в очередной раз ошибка с нулевым индексом)

Для проверки правильности даты нужно вспомнить анекдот. 2+2=?.а сколько вам надо?. Так и здесь.

UFO just landed and posted this here

Существует хоть какое-нибудь логическое объяснение того, почему 256 января называют то 12, то 13 сентября? С детства не люблю мигающие юнит-тесты.

Из-за мигания 29-го февраля по непонятной причине.

Так причина же понятная - Земля не поспевает обернуться за 365 дней.

А если вспомнить, что первой появилась троичная система исчисления, то и значение 2^8 становится не таким сакральным.

Вообще дался вам этот байт! Лучше праздновать каждый четвёртый (ну ладно, каждый второй) день в году.

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

Sign up to leave a comment.

Articles