avva: (Default)
[personal profile] avva
Замечательный образ в записи Реймонда Чена:
MS-DOS is perhaps one of the strongest examples of requiring absolute unyielding backward compatibility. Hundreds if not thousands of programs scanned memory looking for specific byte sequences inside MS-DOS so it could patch them or hunted around inside MS-DOS's internal state variables so it could modify them. If you move one thing out of place, those programs stop working.

MS-DOS contains chunks of "junk DNA", code fragments which do nothing but waste space, but which exist so that programs which go scanning through memory looking for specific byte sequences will find them. (This principle is not dead; there's even some junk DNA in Explorer.)
Я не знал об этом. Я знал, что DOS и Windows проводили политику фанатичной совместимости с предыдущими версиями. Я знал, что во всех версиях Windows хранится и пополняется список "совместимых программ": когда Windows распознает, что бежит такая программа, она специально возвращает ей нестандартные результаты на определенные системные вызовы - потому что такие результаты возвращала какая-то прошлая версия, и данная программа этим пользуется, хоть они и были недокументированы.

Но что в коде MS-DOS специально оставляли куски байтов из предыдущих версий, которые и не запускались никогда, но нужны были для старых программ, которые специально их искали - этого я не знал. Это уже почти за пределами моего понимания.

Когда очередные победители будут в очередной раз писать историю первых десятилетий персональных компьютеров, давайте и это вспомним. Уверенная победа Майкрософта была обусловлена многими причинами: глупыми поступками IBM, недальновидностью Apple, агрессивной тактикой самого Майкрософта по экслюзивным сделкам с OEM... но еще и героическими усилиями во имя совместимости старых приложений с новыми версиями ОС и даже с новыми ОС. Никакой программист не хочет заниматься такой мутной херней - но важность ее для пользователей Майкрософт понимала лучше всех своих конкурентов.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 01:40 am
Powered by Dreamwidth Studios