Межглючное взаимодействие
АрхивГод назад я был озадачен решением Георгия Кузнецова, установить на свой ноутбук Microsoft Windows NT Server. Однако на этой неделе аналогичное решение мне пришлось принять самому. Не слишком крутой ноутбук Panasonic CF-M32 поставлялся в комплекте с Windows 95 OSR2, которая, разумеется, была тут же заменена на Windows 98. И ведь зарекался - не пользуюсь я этой системой. Так нет же, снова купился на полную поддержку "железа" (а она нужна: USB, инфракрасный порт, PCMCIA, ACPI) и полный plug&play. Да, все устройства определились полностью, вс§ прекрасно работало, я даже приобщился к беспроводной технологии передачи файлов на "Либреттку" нашего главреда, всего лишь просунув голову (и нотбук) в приоткрытую дверь его кабинета. Но удовольствие длилось недолго. Две недели неторопливой установки разного софта (кто сказал, что двухгигабайтный диск достаточен для ноутбука?) оказали отрезвляющее действие. Начавшую расползаться буквально по швам систему пришлось в конце концов снести под корень, чтобы установить... Что же все-таки установить?
Если бы я не работал в редакции и не обрабатывал такое количество приходящих из разных мест документов (99% которых я получаю все-таки в одном из "родных" для Windows форматов), то, возможно, и обратил бы внимание на Linux или что-нибудь подобное. Но реальных альтернатив было всего две - Windows NT и Windows NT. Я выбрал сервер.
Не угодившая мне система давно уже имеет плавно переходящее от версии к версии народное название, вам, конечно, известное. Изменение номера, судя по опыту, сказывается на надежности работы незначительно, скорее надежность просто обратно пропорциональна объему кода. Открытие исходных текстов Windows, о чем так много говорят в последнее время (и что, возможно, станет реальностью; читайте новости и FrontPage этого номера), скорее всего не только не решит проблем, но и добавит новых. Вы не пробовали разбираться в реассемблированном (даже хорошим многопроходным реассемблером) тексте 50-килобайтной программы? Windows, разумеется, не полностью написана на ассемблере, но любой программист скажет, что проще написать все с нуля. Ну, или не совсем с нуля. Но если "не совсем", то, будучи связанным по рукам и ногам межкомпонентными интерфейсами, процесс вернется к переписыванию или графического интерфейса, или отдельных драйверов, и мы получим "новую" систему с суммой новых и старых глюков, да еще и непредсказуемое "межглючное взаимодействие". Вам это ничего не напоминает? Вся система, которую я благополучно удалил со своего ноутбука - суть это самое "межглючное взаимодействие". Выросшая из DOS, прошедшая все стадии Windows, обвешанная сетевыми интерфейсами, частично приведенная к юникоду и Интернет-стандартам система представляет собою соединение таких компонентов, которые здравомыслящему человеку и в голову не пришло бы соединить вместе. Это не вина Microsoft, это ее беда. К тому же слишком многие компоненты системы нынешней всего лишь лицензированы (и, вероятно, протестированы) самой компанией, а не написаны собственными силами.
Столь крупный проект, как операционная система современного уровня, нельзя написать в одиночку. Это значит, что еще на этапе постановки задачи должны быть определены требования к компонентам системы и к их взаимодействию, причем таким образом, чтобы это не препятствовало будущему развитию. В случае с Windows таких требований на глобальном уровне не было, что поделать - эволюция (кстати, эволюция, как известно, порождает гигантов перед вымиранием вида). У Windows NT положение более удачное: она изначально создавалась, отбросив то, что Windows 98 до сих пор тащит за собой в виде наследия прошлого. Похоже, однако, что очередная версия все же потянет за собой достаточно длинный хвост этих проблем.
Вот простейший пример: во времена DOS под понятием "документ" подразумевался текст, и теперь, как следствие, мы имеем текстовые редакторы, обвешанные всевозможными средствами внедрения в этот текст чужеродных элементов. Я до сих пор удивляюсь, почему Microsoft, при всем своем стремлении сделать приложения частью системы, не внедрила, к примеру, единую оболочку для работы со всеми типами документов, продолжая выпускать близнецов в виде четырех-пяти офисных приложений, умеющих обмениваться документами, которые все равно остаются для приложений "неродными".
В приходящей в редакцию почте часто поднимается вопрос создания новой ОС "народными средствами", более того - "русской ОС". Авторы уповают на врожденный интеллект русских, который якобы позволит легко догнать и перегнать империю Б.Г. В качестве "добровольцев" чаще всего фигурируют студенты. Но где-то я это уже видел. Да, конечно же, все та же Linux, да еще PTS DOS. Говорят, Linux давно уже стала не хуже Windows. А что стоит на вашем компьютере?
Кстати, в процессе замены системы у меня созрел вопрос к представителям одной известной компании. Имеется некоторое количество OEM-лицензий (да и собственно копий) Windows 95, приобретенных совершенно законным образом и не используемых абсолютно. Почему бы не обменять их все на одну лицензию Windows NT? А то ведь публикую отчеты BSA об антипиратских акциях, а материал готовлю где? Нехорошо. Не в том дело, что мне неудобно - мне все равно, лишь бы работало, но как-то неправильно это. Деньги-то ведь уплочены.