Дела давно минувших дней.
Jan. 22nd, 2009 02:43 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Лет пятнадцать назад народ (преимущественно американский, отчасти европейский) массово переходил со всяких проприетарных сетей вроде CompuServe и того же AOL на нормальный открытый интернет. Но что-то я не помню, чтобы было слышно про проблемы с коннективити электронной почты. Наоборот, первое что делали эти самые недопровайдеры, стараясь удержать клиентов, бегущик с тонущего корабля, это обеспечивали гейтование почты между своими ни с чем не совместимыми сетями и интернетом. Помнится, приходилось мне в то время переписываться с людьми, у которых адрес был XXXX_XXXX@compuserve.com.
Интересно, почему сейчас выбран совершенно другой способ действий? То ли за пятнадцать лет так радикально ухудшились нравы коммерсантов от телекоммуникаций, то ли дело в том, что тогдашний интернет уже имел свое собственное сообщество пользователей, ценность связи с которым для клиентов провайдерами осознавалась (а про нынешний XMPP несмотря на все усилия Google этого сказать нельзя).
Интересно, почему сейчас выбран совершенно другой способ действий? То ли за пятнадцать лет так радикально ухудшились нравы коммерсантов от телекоммуникаций, то ли дело в том, что тогдашний интернет уже имел свое собственное сообщество пользователей, ценность связи с которым для клиентов провайдерами осознавалась (а про нынешний XMPP несмотря на все усилия Google этого сказать нельзя).
no subject
Date: 2009-01-22 12:28 pm (UTC)Нормальный процессор, на мой взгляд, это когда в 16-ричном побайтном дампе памяти видишь число типа long long так же, как ты б его сам в шестнадцатиричной системе на бумажке написал. А за misaligned доступ SIGBUS положен.
no subject
Date: 2009-01-22 01:00 pm (UTC)когда дамп читаешь одно дело видеть сразу числа а другое дело их постоянно перекручивать в мозгу
no subject
Date: 2009-01-22 02:21 pm (UTC)В gdb есть неплохие средства работы с дампами. Потребность читать их в 16-ричном виде скорее всего означает незрелость отладочных средств, используемых в проекте.
Да и не так уж и сложно байты в уме переставить.
no subject
Date: 2009-01-23 10:12 am (UTC)А удобен тем, что биты в числе в естественном порядке идут, от младших к старшим, как и адреса. Удобно при реализации операций с длинными многобайтовыми числами, например. И расширяется значение проще. А что у человеков исторически сложилась привычка писать со старших разрядов — так это всего лишь исторический артефакт, весьма неудобный притом.
no subject
Date: 2009-01-25 09:40 pm (UTC)Так Вы и биты в обратном порядке представляете?
О горе мне.;)
> А что у человеков исторически сложилась привычка писать со старших разрядов — так это всего лишь исторический артефакт, весьма неудобный притом.
И индийская, и римская, и вавилонская система писали всегда и изначально со старших.
Это ж-ж-ж неспроста.
no subject
Date: 2009-01-26 08:00 am (UTC)Любая процедура вывода чисел в десятичном виде сперва заполняет буфер «с конца», выделяя младшие десятичные разряды, а потом уже переворачивает их обратно.
Арабы, кстати, пишут справа налево. У них младшие, правые разряды логически идут первыми.
no subject
Date: 2009-01-26 08:45 am (UTC)Я так и нумерую: бит N означает 2^N в байте, то есть старший бит октета имеет номер 7, младший - номер 0. Шпионы тут ни при чём - этот порядок запомнил ещё с середины 80-х.
Да, я знаю, что есть и другие варианты. Но они опять же не в пользу остроконечников:) Например, в IETF'овских документах во всех принят единообразный порядок - при BE нумерация с самого старшего с 0. Вот в RFC791:
При этом в первом по счёту октете IP-пакета (на смещении 0) старшая тетрада - Version, младшая - IHL, и типичный пакет начинается с 0x45 (4 - version, 5 - IHL).
Порядок бит, как ты его понимаешь, специфичен только для линий связи. Вот там он в полный рост (потому что практически во всех протоколах и системах связи, начиная с RS-232 и стандартных синхронных фреймингов, байты передаются начиная с младшего бита), и там LE более логичен в плане линейности изменения смысла бита. Но с другой стороны - именно оттуда пришёл во все сетевые протоколы BE, потому что для операций типа раутинга приход первого байта уже даёт начать лукап, а последнего - ничего не даёт.
> Любая процедура вывода чисел в десятичном виде сперва заполняет буфер «с конца», выделяя младшие десятичные разряды, а потом уже переворачивает их обратно.
А какое нам дело до процедуры вывода? Даже если она так делает, это явление из совсем другой области и к описанной теме не влияет.
> Арабы, кстати, пишут справа налево. У них младшие, правые разряды логически идут первыми.
Арабы так пишут потому, что они заимствовали индийскую систему (в которой текст пишется слева направо) без изменения порядка цифр в числе. Вот это уже в чистейшем виде пример, что такое совместимость в IT. Европейцы повторили этот ход, уже для европейского направления письма тоже сохранив порядок - в результате вернувшись к исходному индийскому, сами того не осознавая (например, у Фибоначчи и у Магницкого вводимые цифры записаны в обратном порядке - от 9 к 1).