----------------------------------------------------------------------------------
@MSGID: 2:5055/182 6c515976
@PID: jNode ver. 1.5
@TID: jNode ver. 1.5
@CHRS: CP866 2
[](
https://telegra.ph/file/f0699acfee5b671113863.jpg)**Что может быть проще
времени?**
Время воскресных очешуительных историй.
Вы достаточно стары, чтобы помнить армагеддон-2000? Тот самый, когда
ожидали капец света из-за недостаточной размерности системной даты?
Если и недостаточно, на вашем веку вас ждет **армагеддон-2038**.
Милые заверения мужественных бородатых смузихлебов о том, что за
такое время либо ишак сдохнет, либо падишах - разбиваются о реальность.
Легаси бывает удивительно живучим, а фундаментальные вещи никто не любит
менять с риском попереломать все КЕМ. Бошку же потом открутят неиллюзорно.
Так вот. Дьявол - он, как известно, в деталях.
В курсе ли вы, что тип time_t, который в часиках (та самая
пресловутая UNIX epoch) - он знаковый?
Комитет благополучно скрыл от вас этот факт введением нового алиаса
типа, но на практике это тип **long**. Знаковое длинное целое.
И вы, наверное, в курсе, что переполнение знакового целого - это
UB. Не warp around, как в случае беззнакового целого. А именно что UB.
Вы можете сказать, конечно, ачотаковата. Мы воопче не пишем на Си и
крестах, пусть старые пердуны икру мечут. А у нас в питоне всё в порядке,
у нас всё вообще строки и нам пох. Но вы же имеете представление,
сколько кода написано на Си и крестах, да? И каковы вообще шансы всё это
переписать на питон, раст, го, нужное подчеркнуть - и, самое главное, продумать
фундаментальные вещи типа эпохи раз и навсегда на будущее? Вы ведь в курсе?
Что ж, тут отцы-основатели, на чьих плечах мы лишь перхоть,
облажались. Причем облажавшись раз, облажались и два - нужно им знаковое. Как,
вы думаете, представлять время до 1 января 1970 года; что, думаете, до
этой даты жизни на планете не было?
Представление хрен бы с ним. Любая арифметика с эпохой под угрозой
2038, чуваки. UB будет в любом месте, где может возникнуть переполнение.
Вполне себе неиллюзорная угроза. Которую даже самые лучшие из вас либо в
упор не замечают, либо предпочитают игнорить. А, и ЧСХ, с выражениями
даже 2038 года ждать не обязательно - подорваться можно и немного раньше.
От 32битных платформ вы никуда не денетесь. Сейчас напомню -
микроконтроллеры и микрокомпьютеры. Которые вы, по скудоумию, используете для любовного
построения неограниченной поверхности атаки мамкиным хакерам.
Чуете, чем пахнут спелые фиги, да? Вы эти микроконтроллеры еще и
поприкручивали к эффекторам в реальном мире. Миллениум может показаться миленьким
карнавалом с ряжеными в сравнении с тем, что может случиться. Ну, в теории.
Конечно, скорее всего все так же пройдет незамеченным. У смузихлёбов
максимум посрывает чику у фитнес-браслетиков.
Однако же, какая страшилка, да? Разумы человечества и Д -
дальновидность - две вещи несовместные.
Хотя...после нас хуч потоп. Это очень по-человечески.
PS. __Кстати, о птичках. Если вы думаете, что проблема переполнения
точечная и надуманная, а вот на 64битных-то платформах нам много столетий
ничего не угрожает, то спросите базовиков - погонщиков слона, что они
думают о big int. Они вам порассказывают жутких историй. Не, ну можно все
чиселки репрезентить как строки, конечно. И конвертировать их тудом-судом с
квадратичной сложностью. ))) А память... а что память? Плашек еще докупи,
нищеброд!!!!111__
http://fido.ortoped.org.ru/photo_2023-08-19_08-00-05.jpg
--- hssergey station
* Origin: jNode ver. 1.5 (2:5055/182)
SEEN-BY: 301/1 460/58 4500/1 5001/100 5015/255
5019/40 5020/715 848 1042 4441
SEEN-BY: 5020/12000 5030/49 1081 5055/182 5058/104
5061/133 5083/444
@PATH: 5055/182 5020/1042 4441