Идеология технологии, или Computer Science versus Bureaucracy
АрхивВсяк из нас так или иначе, в минуту депресии или духовного парения, хотя бы раз задавался вопросом: а нафиг все это надо? Иначе говоря, как и зачем моя деятельность может быть полезна Богу? И далеко не всяк знает ответ, а многие и вовсе отмахиваются: не нуди, мол, «Спартак» проигрывает! Что ж, дело хозяйское…
Всяк из нас так или иначе, в минуту депресии или духовного парения, хотя бы раз задавался вопросом: а нафиг все это надо? Иначе говоря, как и зачем моя деятельность может быть полезна Богу (черту, науке, Родине, человечеству, Мне Любимому, или во что вы, уважаемый читатель, верите?)? И далеко не всяк знает ответ, а многие и вовсе отмахиваются: не нуди, мол, «Спартак» проигрывает! Что ж, дело хозяйское…
Когда я говорю «всяк из нас», под словом «мы» я имею в виду не слишком многочисленный класс людей, посмевших самоопределиться через профессиональную деятельность. Остальные, возможно, тоже задавались подобным вопросом, но звучит он у них совсем по-другому: «За что мне такое наказание, и когда же наконец у меня будет вдоволь хлеба и зрелищ?» Иными словами, чтобы спрашивать: «Кому и зачем это надо?» - нужно иметь некоторое ЭТО, некоторый результат работы, который можно явить миру. Иначе вопрос бессмыслен.
А вариантов ответа, как всегда, не так уж много.
Американская мечта об успехе при доходе в сотню долларов зовет во весь голос, на уровне пяти сотен становится не так уж и привлекательна, а ближе к двум тысячам - исчезает вовсе, так как при отсутствии должных моральных устоев деньги ведут в кабак или к проституткам, вызывают ожирение или мертвым грузом ложатся в кубышку. Советская идея самопожертвования тоже не пляшет: жертвовать-то мы готовы, но по теперешним временам требуется более аргументированное обоснование, чем веское партийное «надо».
Слава похожа на пуховик-перевертыш: толпа любит сильные эмоции (обязательно по ту сторону телевизора!), но ей все равно, положительные они или отрицательные, так что слава в любой момент может стать скандальной. Кроме того, потребителям славы важен лишь суммарный накал страстей, а производителям - дядям-за-кадром - вообще непонятно что, так что слава преходяща, а суперзвезды взаимозаменяемы.
Итак, если не говорить о святых подвижниках (которые, между прочим, наверняка знают ответ на рассматриваемый вопрос), работающему человеку нужно еще что-то кроме любви к искусству и двух секунд в месяц счастья от хорошо сделанной работы. Исторический опыт показывает, что хорошим стимулирующим фактором здесь может стать идеология, то есть совокупность реализуемых, но в далеком будущем, мечтаний о том, как бы устроить мир так, чтобы - «счастье для всех, даром, и пусть никто не уйдет обиженный!».
Поскольку сам я занимаюсь разработкой программного обеспечения в сфере финансового и товарно-материального учета, позволю себе предложить вниманию коллег вариант такой мечты-идеологемы для IT-специалистов младшего возраста. Воображение у программистов, надеюсь, богатое - еще с десяток придумают на лету.
Описание предметной области
Для дальнейших рассуждений нам понадобится несколько определений.
Прежде всего следует сказать, что закон - в том смысле, как его понимает римское право, - суть алгоритм. Причем алгоритм жесткий, разветвленный, ориентированный на однозначное толкование каждого слова и на безусловное исполнение, то есть не подразумевающий никаких возможностей проявления свободы воли со стороны исполнителя. Определив закон таким образом, легко видеть, что основная проблема современного законодательства заключается в том, что его понятийный аппарат очень (!) далек от совершенства - по недомыслию ли, в силу ли сложности предмета, или в результате саботажа «тех-кому-это-выгодно». По-хорошему, язык права следовало бы систематизировать, формализовать и тщательно разобрать понятия по уровням абстракции - так, как это делается с понятиями предметной области при проектировании сложных OLTP-систем.
И даже если бы это было сделано (предположим, для начала в какой-нибудь одной области - например, в сфере гражданского права 1), все равно осталось бы множество мест, где жесткий алгоритм неприменим в принципе, то есть областей, не регулируемых законодательством. Именно для того, чтобы обслуживать такие области, и нужен разветвленный аппарат людей, наделенных властью, то есть имеющих право принимать волевые решения по какому-то кругу вопросов. Аппарат чиновников.
Здесь я прошу вас напрячь воображение и абстрагироваться от печального жизненного опыта, представив себе идеальных чиновников, составляющих идеальный аппарат, - так, как эта картина виделась, скажем, Томасу Мору. Сеть коллективов хороших, добрых и честных людей, кровно заинтересованных в том, чтобы нам с вами хорошо жилось. Людей, искренне и с полной ответственностью анализирующих вашу просьбу и готовых в случае необходимости (и только в этом случае) отступить от писаной инструкции ради вашего блага, не затронув при этом (как можно, сударь?!) благополучие окружающих. Людей, творчески рассматривающих, чем и как данная ситуация отличается от предусмотренной законом, и с ювелирной точностью (страшно сказать: с любовью) применяющих законодательство таким образом, чтобы все было по справедливости…
Представили? А вот теперь у нас появилась возможность сравнить эту идеальную ситуацию с теперешней и выяснить - феноменологически, не касаясь причин, - что же здесь не так.
Вся государственная власть во всех странах евроамериканской цивилизации принадлежит бюрократии. Не народу, не избранным представителям, не президентам и не армиям. А именно бюрократии. И хорошо видно, чем бюрократия как таковая отличается от нарисованной нами идеализированной картины «правильной исполнительной власти». Суть этого отличия в том, что ни один из современных чиновников нимало не заинтересован в том, чтобы выполнять свои прямые обязанности, то есть служить народу. Напротив, каждый из них заинтересован в обратном: ту, большую или меньшую, власть, которая ему дана, каждый старается использовать с максимальной выгодой для себя. Причем этот вроде бы противозаконный отказ от дела ради личной выгоды носит такой повсеместный, исчерпывающий и общесистемный характер, что все мы воспринимаем его как нечто само собой разумеющееся, даже почти не замечая, что могло бы быть и иначе.
Общий механизм, с помощью которого «власть среднего звена» оказывается в состоянии поглотить как любую нисходящую политическую волю, так и любую восходящую «волю народа», заключается в следующем. За века своего развития бюрократической системе удалось создать сложнейшую, насквозь пронизанную рекурсиями и внутренними противоречиями систему процедур, буквальное выполнение которых надежно блокирует решение любого вопроса: либо принятие решения на том или ином основании оказывается незаконным, либо требует таких затрат сил и времени, что система просто зависает из-за нехватки ресурсов. Следует заметить, что такая ситуация вряд ли сложилась случайно. Скорее ее можно считать результатом деятельности нескольких поколений профессионалов бюрократического дела, которые и сегодня вряд ли сидят сложа руки. Во всяком случае, базы данных «Гарант» и «Консультант Плюс» все растут и растут… Ответ же на вопрос: «Кому это выгодно?» - очевиден. Все той же бюрократической системе. Ведь если ни одно решение нельзя принять предписанным способом, то наверняка можно где-то что-то обойти, где-то что-то нарушить (разумеется, не бесплатно) - и все будет честь по чести. Быстро, качественно и почти законно.
Рассуждая о причинах такого положения дел, можно в первую очередь указать на полное отсутствие механизмов системного контроля. Если проконтролировать деятельность отдельных чиновников еще можно, хотя чаще всего контролеры быстро становятся частью коррумпированной системы, то обратить внимание на целостность самой совокупности нормативных актов, то есть заняться тестированием программного обеспечения, никому и в голову не приходит. А если и придет, организовать такое тестирование, а тем более что-нибудь поменять в соответствии с его результатами, сегодня вряд ли возможно.
Концептуальное описание предлагаемого решения
Итак, что мы имеем? Имеем мы огромную и невообразимо сложную программную систему, именуемую «Законодательство», которая содержит в сто раз больше кода, чем нужно, и в каждой строке кода имеются специально организованные ошибки. И имеем огромную армию людей, являющихся для этой системы «процессорами». А еще имеем печальный исторический опыт: если эту систему попытаться «в лоб» разрушить, а на ее месте построить новую, то возникнет хаос, погибнет много людей, а система - выживет и разовьется стократ.
И вот давайте представим, что прошли века, сменилось несколько поколений информационных технологий и языки программирования усовершенствовались до такой степени, что на них стало возможно писать законы. Давайте представим, что программы, написанные в терминах гражданского кодекса, выполняются параллельно и в реальном времени на пяти миллиардах (или сколько их будет через триста лет?) терминалов и центральный сервер это «тянет». Давайте вообразим, что армия бюрократов, выполняющих ныне огромное количество рутинных, но все же слишком сложных для современного компьютера операций, стала свободна от этого занятия.
Что же тогда останется людям? А людям останется два вида деятельности на этом поле. Во-первых, не исчезнет необходимость в урегулировании тех видов проблем, которые в текущей версии законодательства не предусмотрены или четкая формализация которых по принципу «если, то» невозможна принципиально. И во-вторых, возникнет нужда в квалифицированных специалистах, дорабатывающих, совершенствующих и тестирующих систему, - синтез профессий юриста и программиста.
Легко видеть, что проблема контроля деятельности должностных лиц снимается сама собой: любое решение чиновника вступает в силу с момента регистрации в системе - и термины, в которых принятое решение изложено, системе понятны, то есть она может отфильтровать прямые нарушения закона. А что касается внезаконных решений - здесь легко и просто организовать, например, рейтинговую систему оценки деятельности должностных лиц и таким образом формировать слой «власти среднего уровня» демократически. И кроме того, автоматически вносить поправки в законодательство на основании одобренных обществом прецедентов.
А насчет законодателей картинка получается и вовсе смешная. Представьте, скажем, заседание Российской Федеральной Коллегии Депутатов-Программистов (КДП РФ). Фальшпол, кондиционеры, легкий запах озона. Тишина, только клавиши потрескивают… И по трансляции расходится сообщение: «Поправка депутата Пупкина к Закону о частной собственности отклоняется в связи с систематическим зависанием Закона о правах потребителей, ст. 12 п. 3, и неустойчивой работой Уголовного кодекса РФ, ст. 117».
Вот такие дела… Как полагаете, стоит жить?
Только хочу сразу заметить: о технических деталях реализации подобного проекта я, конечно, ничего не знаю, поэтому техническое задание писать не будем. Но зато я очень хорошо знаю, в чем заключается основная сложность при внедрении современных корпоративных систем учета на больших российских предприятиях. А заключается она в том, что буде такая система внедрена, высшие руководители получают возможность «в одно касание» увидеть, куда и как движутся деньги - а менеджерам среднего звена такая ситуация очень не по нраву. И они употребляют все свои силы на сопротивление внедрению, и весьма успешно.
А вот мне, как специалисту в своей области, нет дела до внутриполитических и любых других проблем заказчика - кроме тех, которые он поручил мне решить. Поэтому я заинтересован в том, чтобы написать такой закон, который не надо будет нарушать.
[i39850]
1 (обратно к тексту) - Слышу, слышу дружный хохот юристов.