Работник Минмонстрстроя
Архив"Люби грешников, но ненавидь дела их".
Исаак Сирин
"По газонам не ходить!"
Известно откуда
Можно сколько угодно повторять, что микропроцессор совершил революцию в технике обработки данных, и это правда, однако, в подтексте этих слов чувствуется некий заговорщический мотив - тайные собрания революционеров-изобретателей, лозунги по стенам: "Микропроцессор - народу!", горящие глаза... Словом, адепты прогресса выходят из подполья.
На самом деле все было не так. В те времена могучего расцвета заказных интегральных микросхем очень скоро стало ясно, что на каждый чих не наздравствуешься. И хотя производители чипов без устали декларировали любовь к заказчикам и готовность 24 часа в сутки ваять заказные БИСы, в кулуарах их офисов слышался скрежет зубовный, и мечтали они не столько о сокращении сроков разработки, сколько о том, чтобы выдумать нечто такое, которое устроило бы всех. Наконец, в ответ на очередной заказ японцев сделать им БИС для калькулятора, родился микропроцессор. Он же калькулятор, он же контроллер, он же... ну, и так далее. Первое поколение, втрое, третье... эволюция, называется. По принципу "все течет, все изменяется". Как бы само по себе.
Вообще, эволюционные процессы в компьютерной технике и технологии воспринимаются как нечто само собой разумеющееся - прогресс же! Раз прогресс, значит нужно создавать новое. Здесь один шаг до распространенного заблуждения: "новое - значит лучшее!" или "новое - значит более совершенное". Да ничего подобного!
Новое лишь тогда будет более совершенным, когда оно станет более целесообразным.
Вот, скажем, газон. Банальнейшая ситуация - вышли вы хлебца купить, по прямой до двери магазина метров сто, не более, но на пути газон. А гладкие асфальтированные дорожки, параллельно и перпендикулярно проложенные в сквере, удлиняют ваш путь вчетверо, и вы, махнув рукой на пресловутые таблички с известными надписями, валите прямо по газону, благо и до вас тут хаживали, - вона какие дороги протоптали. А каково было первопроходимцу? Тому, который первый на нетоптанный газон ступил? Который, с точки зрения общественности, его совершенство нарушил? Послушайте, только честно, между нами, а вы тоже считаете, что признаком совершенства сквера является идеальная параллельность и перпендикулярность дорожек (в скобках заметим - однозначно гарантирующая вечно затоптанный газон с грязными грунтовыми тропами по маршрутам действительно целесообразным)?
Целесообразным, то есть, "сообразным цели". Чьей? Да вашей же! Пешеходской, то бишь, пользовательской.
Вот и выходит, что совершенным в смысле целесообразной планировки, т. е. в истинном смысле, сквер становится в результате действия сил разрушительных, конкретными сотрудниками которых становимся мы сами, всякий раз влезая на газон. Пример с газоном вообще весьма показателен. Ибо прост и хорошо иллюстрирует принцип, который в приложении к софтверной индустрии можно было бы назвать эволюционно-ориентированным программированием.
При этом все традиционные технологии программирования, с точки зрения принципов достижения совершенства продукта, можно характеризовать как революционно-ориентированные.
Тут все просто и привычно: Вождь - творец концепции, новый взлет, революция в технологии, анонсы, авралы, перенос сроков, ур-р-ра!.. Общественность, затаив дыхание, следит за происходящей на ее глазах очередной революцией, то есть, скачкообразным процессом перехода на... куда? Всего лишь на новую ветвь эволюции. Революции, увы, кончаются, начинается эволюция. Эволюция как процесс доводки продукта до совершенства за счет действия разрушительных сил.
За него берутся тестеры, за него берутся хакеры, студенты за него берутся. Ох, как же за него все берутся! И если довести его до приемлемого уровня совершенства не удается, - продукт "погибает". Его не покупают, им не пользуются, о нем забывают.
Принято считать, что разрушительные тенденции - есть зло, равно как тенденции строительные - есть благо. Вероятно, так оно и было бы, если бы все, что строится, сразу строилось бы совершенным. Но на самом деле это ведь не так. Не говоря уже о том, что в зависимости от конкретных условий смысл понятия совершенства может сильно меняться. Динозавры вымирают... Неудачные здания сносят. Рушатся государства. Газоны топчут...
Между прочим, мы сейчас вплотную подошли к очень важному моменту. Совершенствовать свои творения революционным путем - значит использовать абсолютно весь опыт прошлых революций и их результатов. Кто может похвастаться таким всезнанием?
Даже Творец всего сущего не устраивает революции очень часто. По крайней мере, не раньше, чем завершится эволюция очередного творения, его "доводка" через... разрушение. Да, путем отсечения лишнего и непрерывного испытания самыми вредоносными сущностями, которые - внимание! - являются его помощниками и сотрудниками. Два Начала - конструктивное и деструктивное в теснейшем сотрудничестве оттачивают грани совершенства всего на свете. И дело тут не во вкусах - какое из Начал больше по душе, - дело в их принципиальной неотделимости. Оставим лишь созидательное Начало, - и через некоторое время все Мироздание заполнится бесконечно разнообразными и сложными, абсолютно ни для чего не пригодными, но вечными структурами, - по сути дела тем же Хаосом, который принято приводить в пример деятельности Начала деструктивного.
Все в Мире совершенствуется разрушением! Этот вполне скандальный тезис трудно вместить и трудно с ним согласиться, но не будем обманывать себя. Так называемые красоты Природы - чьих рук дело? Ну, ну, смелее!
То-то и оно. Творец, его "команда разработчиков" напрягаются в создании возможностей, на базе которых их коллеги из известного департамента, по должности призванные уничтожать и рушить, творят на практике высокосовершенные отточенной красоты вещи.
Обратимся к древним мистическим и философским источникам, описывающим возникновение разумных существ на Земле, популярное изложение которых, кстати, лежит в основе замечательных саг Дж. Р. Р. Толкина (Вниманию литредакции! Правильное написание фамилии - Толкин. Толкиен - это только в переводах Перумова.) Сначала Творец позаботился о создании сонма разумных, но бессознательных существ-сил, - в качестве своеобразной среды разработки. Потом Он создал Перворожденных - бессмертных носителей разума, изначально предназначенных для выполнения определенных миссий. И все было бы славно, если бы вмешавшиеся силы разрушения (вмешавшиеся не из вредности, а в качестве ОТК) быстро не обнаружили крупные несовершенства этих первых жителей планеты, избавиться от которых им было невозможно в силу их бессмертия и неуязвимости, основанной на магии, т. е. возможности напрямую взаимодействовать со средой разработки на уровне команд-заклинаний.
Творец, не долго думая, заложил новую расу - людей, существ смертных, но активных в познании мира и себя, сильных сознанием своего несовершенства и желанием избавиться от него в течение ограниченного срока жизни, существ изначально эволюционно-ориентированных. И дело пошло! Но как же их не любили, этих первых людей Перворожденные - застывшие в своем несовершенном совершенстве первенцы Творения!
Если провести параллели аналогий, то нынешний период в истории программирования, если рассматривать эту область деятельности с позиций скорее философских, чем прагматических, - как первый опыт Человека в Творении Миров, - можно считать Эпохой, когда на смену "разумным" (по крайней мере, в смысле целенаправленности действий), но бессознательным, т. е., буквально, "не сознающим себя", программам трансляторов, отладчиков и т. п. простым средствам разработки приложений пришли первые "Перворожденные" - интеллектуальные продукты с контурами обучения, интегрированные среды, переводчики, системы конструирования - "разумные", "сознательные", мощные по своим возможностям, но неизменные в своей специализации "существа" компьютерных миров. И если все это нас устраивает, несмотря на ограниченную или отсутствующую переносимость с платформы на платформу, удручающее разнообразие форматов данных, нестыки в интерфейсах и частую невозможность решить задачу в рамках одного приложения, - тогда, как говорится, ветер в спину. А если не устраивает?
А если не устраивает, то, по Толкину, нам следует ждать вмешательства неких темных сил, либо просто неприятностей, чтобы с их помощью увидеть новые пути совершенствования (ну, прямо, как на газоне - "новые пути", именно там, где вытоптаны тропки. Красиво, не правда ли?).
Первая неприятность налицо: разработка каждого нового современного программного комплекса требует поистине колоссальных финансовых и людских ресурсов, объективно переводя эти продукты на рельсы экстенсивного развития за счет расширения набора инструментов, палитр, фактур, эффектов без существенного углубления алгоритмических основ - не потому, что не хочется, а поскольку уж больно дорого и долго.
И разрушительные силы тут как тут - всякие тролли, орки, волколаки, оборотни... Виноват, это не то, это из Толкина... Ну, а у нас это логические мины, троянские компоненты, вирусы простые и вирусы полиморфные, сетевые черви, инфекционные макросы. И это, кажется, еще не все. Сюда нужно будет отнести аналогичные по свойствам, но еще не созданные конструкции, о которых несколько слов скажем позже.
Логика приведенных аналогий подсказывает: будущее за эволюционирующими, самовоспроизводящимися, самопереносящимися с платформы на платформу программными комплексами, разработкой и тестированием которых никто заниматься не будет. По одной простой причине, о которой я упоминал в самом начале, - на каждый чих не наздравствуешься.
Эти программы, первоначально созданные в форме алгоритмов-эмбрионов, в процессе некоторой эволюции приобретут свойства и вид конкретных приложений, которые ближе всего отвечают понятию совершенства, т. е. целесообразности с точки зрения каждого отдельно взятого пользователя. При этом привычный процесс установки неминуемо должен замениться процессом воспитания приложения или эволюции, которым займется некая специально для этого предназначенная "вредоносная" среда.
В итоге придем к ситуации, когда все разработчики естественно и непринужденно займутся одним из двух дел - или ломать, или строить. Одни будут творить эмбрионы, насыщая их все большим количеством потенций, в то время как другие - ваять монстров, могучих и изощренных разрушителей всего не целесообразного, высокопроизводительных отсекателей лишнего.
Ну и тогда через призму компьютерных проблем увидим мы, наконец, глубинную суть ежедневно происходящего с нами и вокруг нас. И понятней станет знаменитая фраза из "Фауста":
- Так кто ж ты, наконец?
- Я - часть той силы, что вечно хочет зла и вечно совершает благо.
Помните, Михаил Булгаков так начинает "Мастера и Маргариту". Профессор Воланд, работник Минмонстрстроя, специальность - эволюционно-ориентированные технологии, место работы - Земля. Всем на зло.
Юрий Романов
тел. (0572) 44-18-51
310085 г. Харьков-85, а/я 9217