Шрифт:
Интервал:
Закладка:
Европейская Комиссия раз за разом ужесточает нормативы вредных выбросов от автомобильных двигателей. Намерение вроде бы благое: копоть и агрессивные газы на городских улицах никому не на пользу. Только ради каждого улучшения экологической обстановки приходится не только радикально менять сами двигатели, но и повышать качество бензина, и порою даже снижать степень сжатия — а с нею и мощность. И всё это — деньги столь изрядные, что во многих мегаполисах дешевле было бы организовать принудительную вентиляцию центральных улиц. Причём деньги — лишь отражение реальных усилий, а производство, как известно, тоже не без экологического греха. Чистота европейских улиц куплена, в частности, несоразмерным ростом загрязнений воздуха в иных местах планеты. То есть в конечном счёте противоречие не технологическое — между желаниями быстро ехать и хорошо дышать, — а логическое — между локальным улучшением и глобальным ухудшением.
Если же от редких экологических позывов вменяемых политиков перейти к чистому экологизму в духе «Зелёного мира», то становится очевидно главное противоречие, не отделимое от искренних адептов этой веры. Их требования выполнимы только при условии отказа от всего, что отличает человека от прочих животных, и возврата на обезьяний уровень. Естественно, не только по качеству жизни, но и по не отделимому от него количеству живущих. Экологичное желание жить безвредно вступает в противоречие с самой возможностью жить.
Правда, бывают и противоречия диалектические — надеюсь, кто-то из читателей ещё помнит институтский курс советских времён. Скажем, интересы покупателя и продавца противоположны. Но их противоборство движет вперёд производство, а через его потребности и науку.
Противоречие между экологистами и остальным человечеством или между жителями и строителями Москвы тоже можно счесть диалектическим. В конце концов, все мы нуждаемся и в чистом воздухе, и в уютной тишине дворовых сквериков. Поэтому поиск решений, сохраняющих хотя бы часть этих ценностей, нужно стимулировать всеми доступными средствами — вплоть до экологических истерик и бутовского противостояния.
Беда только в том, что подобные противостояния, единожды начавшись, обретают собственную логику. Скромную Рэчел Карсон сменяет пламенный Пол Эрлих, а ему наследует вовсе неистовый Робёрт Хантёр. Градостроительным планам Владимира Ресина оппонирует уже не тонкий знаток жизни мегаполисов Вячеслав Глазычев, а банкир Александр Лебедев, чьи предложения сводятся к выселению за пределы столицы всех её жителей (да ещё к лоббированию малоэтажного строительства, где он прикупил хорошие технологии).
Жёсткая логика противостояния неминуемо перенацеливает с поиска компромиссов на поиск путей истребления противника. А такие пути чаще всего самоубийственны. Поскольку теряется соизмеримость поставленных целей даже с собственными интересами. И рано или поздно цели выстраиваются в логическое противоречие — вроде описанного в начале заметки.
Впрочем, несовместимости возникают и сами собою, без сознательного противостояния. Например, инженеру постоянно приходится сталкиваться с оппозициями, вытекающими из самой природы вещей. Прочность — при прочих равных условиях — противоречит лёгкости, мощность — экономичности…
Великий изобретатель Генрих Саулович Альтшуллер определил изобретение именно как устранение подобных противоречий. В своей теории решения изобретательских задач — ТРИЗ — он выстроил методику вычленения противоречий, представления их в явном виде. А заодно — из опыта многих тысяч изобретателей — выяснил типовые приёмы преодоления каждого противоречия. Так что сейчас многие технические задачи, ещё недавно требовавшие напряжённого поиска и творческих озарений, решаются вполне рутинно.
К сожалению, пока никто не обобщил теорию Альтшуллера на противоречия экономические, организационные, политические… Приходится каждое решение искать чуть ли не с нуля. Или просто отбрасывать часть несовместимых целей — в духе анекдота, уже перекочевавшего на рекламные плакаты: «Делаем быстро, хорошо, дёшево — любые две опции на выбор».
Настраивая на своём ноутбуке новую для меня операционную систему Linux, хотел, чтобы по ссылкам на Интернет из других программ вызывался браузер Opera. Указал это всюду, где нашёл упоминания браузера по умолчанию. Но из почтовой программы Thunderbird всё ещё вызывается стандартный в оконном диспетчере KDE браузер Konqueror.
Правда, меня бы это устроило: Konqueror построен на том же ядре Gecko, что и сверхпопулярный нынче Firefox, так что работать с ним почти так же удобно, как с Opera. Но почему-то каждая ссылка открывается в новом окне, хотя я специально предписал Konqueror открывать все внешние ссылки в новых страницах одного и того же окна.
Причина очевидна. В Linux каждая программа хранит сведения о своих настройках отдельно. Единой же точки, откуда программы могут получать сведения друг о друге, фактически нет. Поэтому каждое взаимодействие организуется специальными указаниями. Оконные диспетчеры вроде KDE или Gnome берут на себя лишь очень малую долю такой организации — не могут же они учесть все возможные места хранения информации о программах!
В операционных системах обширного семейства Windows ныне порядок принципиально иной. Все сведения обо всех программах хранятся в единой базе данных — системном реестре. Оттуда любая программа может узнать, кто и как выполняет необходимые для неё внешние функции.
Основная задача реестра — организация взаимодействия по системе COM (Component Object Model — модель объекта из компонентов), где любая сложная структура состоит из множества слабозависимых компонентов и за каждый вид обработки каждого компонента может отвечать отдельная программа. Правда, СОМ — лишь сильно упрощённая версия системы CORBA (Common Object Request Broker Architecture — общая архитектура брокера объектных запросов), употребляемой в операционных системах семейства Unix, из которого выросла Linux. Но для неквалифицированного конечного пользователя — вроде меня — СОМ несомненно удобнее CORBA — прежде всего как раз благодаря единой точке описания всех взаимодействий.
Увы, единый системный реестр обладает собственными немалыми недостатками. Главный из них — любая ошибка работы с ним одной из программ способна разрушить всю внутреннюю логику базы данных и заблокировать любые осмысленные обращения. Чаще всего это происходит при установке новых программ: чтобы перенаправить на себя определённые вызовы, они правят уже существующие записи в базе. Но авария возможна и при многих других обстоятельствах. В частности, общесистемный сбой, сопровождаемый BSOD (Blue Screen Of Death — синий экран смерти), может разрушить все записи реестра, к которым в этот момент были обращения хотя бы на чтение.
Вдобавок сведения в реестре хранятся в двоичном виде. Это вроде бы чуть ускоряет их поиск и обработку. Зато и найти в реестре нужные данные можно только с помощью специальных редакторов. А уж исправление ошибок требует сверхъестественных усилий. Чаще всего повреждения в реестре устраняют хирургически: переустанавливают всю систему с нуля.