На пальцах

Проводить красивые аналогии между несвязанными вещами всегда так интересно: раз, зацепился на кусочек смысла в одном месте, увязал за ниточку с другим, там чуть-чуть клея, тут немного метафор. И — вуаля! — глубина сравнения поражает даже виды видавших людей.

Конечно, при более пристальном внимании к этой метафоры всплывают мелкие косячки — тут притянуто за уши, здесь деталька вставлена для красного словца, там вообще в лучших традициях софистики сравниваются несравниваемые вещи. Бац, и прекрасный пример на «пальцах» оказывается пустопорожним переливанием воды из одного сита в другое.

Вот нежусь я на солнышке после трудной и трудовой (а, скорее, трудной-трудовой) недели, читаю очередные перлы нытиков, покупающих в черную домены за 10 копеек штука на паспортные данные местного Джона Доу, и одна мысль в голове свербит — что в Свободных Штатах оф Интернетс только и разговоров, что о государстве (мне всегда при этом слове мерещатся кошмары об огромном слизком кальмаре, которое топит корабли и пожирает невинных людишек, а еще у него: огромные страшные глаза, миллион острых зубов и бланки справок в одном из щупалец) и о том, как устроить раздачу счастья во всех ларьках города, даром, чтобы никто не ушел обиженным. Прекрасные мысли прекрасных людей, а что?

Мы, как порядочные граждане своей страны, даже обязаны рассуждать о политике. Проявлять, так сказать, гражданскую сознательность.

Показывать нашим правителям, что мы недовольны тем, как они нами правят.

Ну, или, чтобы нас лучше поняли другие наши собратья, сравнивать государство с какой-нибудь Windows.

Нет, только представьте себе, какая красивая аналогия. Наверху восседает Малыш Билли, царственными взмахами руки разделяющий бюджетные деньги, вываленные на стол, как в рекламе — огромная стопка на пиар, пара банкнот на обновления и заплатки. На подступах к его величественному кабинету ряды столов с секретаршами, которые специально натасканы на полное безразличие к просящим (они, кстати, давно не люди — при приеме на работу у них забирают души). А вокруг всего этого — рой нахлебников с текущими слюной ртами, которым только дай волю, они пра-прадедушку обуют на все его сбережения. Соответственно, сам продукт, которые они производят — ужасен, ведь покупатель (даже если это склочный, мелочный и эгоистичный тип) всегда прав.

Жаль, что я чуть-чуть программист, и достаточно много имел дело с бюджетными организациями в прошлом, иначе бы просыпался ночью в холодном поту от таких кошмаров. Вот сейчас, кстати, уже три недели, как работаю в местной государственной структуре, где питаются одними младенцами, а трупы просителей выбрасывают на свалку в синих полиэтиленовых мешках. Правда, на ритуальное пиршество попасть пока не успел, а для массовых оргий, наверное, чином еще не вышел.

В первую очередь, меня смущает упоминание «хорошего программиста» в единственном и неповторимом лице. Просто потому, что мало-мальски сложная система в одиночку не пишется никак, это не только глупо, но и очень глупо, долго и мучительно. То же «государство», например, стоит в этом самом числе лишь потому, что представляет собой абстракцию сложной распределенной системы, которую мы привыкли именовать «раздутым бюрократическим аппаратом». Это как для простоты на войне делят всех на «хороших» (мы) и «плохих».

Получается, что над операционной системой все-таки работает не один человек, а целая группа (если так можно выразиться), и каждый отвечает за свой фронт работ. Так проще, но одновременно и сложнее — в плане организации. Так что даже если этому человечку (которому, конечно же, не плевать на эту систему) захочется исправить что-то в своем кусочке кода, ему никто это не даст сделать. Для этого есть ведущие программисты, архитекторы, которые, ни разу не прикоснувшись к коду, все же имеют представление о том, как работает система в целом. Мало ли как система отреагирует даже на микроскопическое изменение.

Уже получается, что нельзя так просто взять и перестроить «архитектуру системы», да?

Ну а подумайте теперь, как обеспечить поголовную и повсеместную установку обновления? Это ведь разработчикам ПО без разницы, что какие-то проценты еще пользуются старыми версиями IE, не обновляют свои Windows'ы — и это при том, что существует отлаженная система распространения этих обновлений, в магазинах на полках стоят новые версии продуктов. С государством такое не прокатит — новые правила игры должны начать действовать одновременно в каждом уголке страны, а еще ведь нужно время на переучивание кадров, на внедрение новой документации, инструкций, whatever. Перестановку на местах тоже так просто не сделаешь — скажется нехватка профессиональных кадров, действительно способных выполнять свои обязанности, ну а руководителю без соответствующих связей, в мелких районах путь заказан в любом случае.

Но снова вернемся к проблеме разработки сложного приложения, раз уж мы взялись рассматривать дела государственного масштаба в таком ракурсе. Действительно хороший разработчик рассматривает ее в свете быстро расширяемой и легко обновляемой системы. В которой внутренняя бизнес-логика позволяет обеспечивать изменение алгоритмов без изменения самого ПО. В которой обратная совместимость означает именно то, что означает — новые функции не мешают большей части нового ПО исполняться на старых версиях, а старое еще прекрасней работает на новом. В которой для исправления недостатков предусмотрена система обновлений, благодаря которой не надо обновлять всю ОС, достаточно установить пресловутую заплатку.

Автор же цитаты (Леха Андреев?) о великой компании, которая придумала выпускать неготовый продукт, а все проблемы лечить после выпуска, либо обладал хорошим чувством юмора, либо ни черта не смыслил в создании продуктов такого объема.

Потому что любая мало-мальски сложная система устроена именно так. И чем дальше от сухости математических формул и ближе к человеческому миру, тем сложнее становится что-то менять в архитектуре — кто может поручиться на все сто, что новое изменение не сделает больше вреда?

К тому же, законы придумывают люди, принимают другие, а исполняют совсем третьи. Но тоже люди. И каждый тянет одеяло на себя.

А еще простой обыватель, рассуждая у себя на кухоньке (или, в современной варианте — в бложеке) о никуда не годном бюрократическом аппарате, играется в аналогии, рассказывает о холодных служителях зла, отправивших его домой за справкой, которую он забыл взять. И тоже пытается включиться в забавную игру по перетягиванию этой одеялки.

Вот так и живем.

{30 комментариев} Подписка на комментарии

Самое забавное, что ты отлично подхватил мою аналогию, высказав собственные мысли :)

«Хороший программист» — я и не представлял себе одним лицом. Это правительство. Весь кабинет министров во главе с премьер министром. Партия власти. Но не один царь, не те времена.

// Уже получается, что нельзя так просто взять и перестроить «архитектуру системы», да? //

А я нигде не утверждал, что это дело простое. Нельзя взять и перестроить. Можно утвердить план и перестраивать по модулям.

// А еще простой обыватель, рассуждая у себя на кухоньке (или, в современной варианте — в бложеке) о никуда не годном бюрократическом аппарате, играется в аналогии, рассказывает о холодных служителях зла, отправивших его домой за справкой, которую он забыл взять. //

То есть, обыватель не должен ничего критиковать? Или должен критиковать, только если он часть системы, много о ней знает? Это очень умный подход, особенно хорошо видно, если перенести аналогию на ОС.

Если воспринимать государство как что-то полумистическое и нереально далекое от «простого обывателя» — то тоталитаризм никуда не денется сам по себе.

> Самое забавное, что ты отлично подхватил мою аналогию, высказав собственные мысли :)

Ну я же нигде не говорил, что эта слабая аналогия не до конца верна. У меня был знакомый, так он обработчик событий на примере магазина мог объяснить :)

> Партия власти.

Честно говоря, как таковой единой «партии» не существует — это если говорить о реальном управлении даже в нашей стране. Если идти дальше, то на местах свои «партии власти», причем, если реально взглянуть на вещи, без царящего здесь местечкового своячничества и подвижек к «светлому будущему» не было бы.

Так и в «реальном» мире (на Западе) все работает — благо граждан достигается путем борьбы за блага корпораций.

> А я нигде не утверждал, что это дело простое. Нельзя взять и перестроить. Можно утвердить план и перестраивать по модулям.

Собственно, обновление заплатками (критическими и не очень), которые собираются в единые сборки — это и есть перестройка системы. Сложность как раз в отмене старых правил — скажем, возьмем Вордпресс. Недавно вышла 2.8 Beta 1, и в ней патч наложен на измененную функцию отображения категорий, из-за которой старые шаблоны выдавали ошибку на новой версии. Перенеси эту аналогию на государство.

Хотя, конечно, есть лобби, есть интересы. Есть нежелание исправлять то, что дает доход.

> То есть, обыватель не должен ничего критиковать?

Критика критике рознь. Насколько я знаю из своего опыта, большинство вещей, которые критикует обывательщина — то, с чем они не сталкивались вообще, или какую-нибудь глупость. Скажем, мне как IT-консультанту, сидящему за сервером, пришлось выслушивать обиженный крик какого-то просителя, которому я сказал, что специалист, к которой он пришел в отпуске и я не знаю, к кому он должен обратиться.

Или вот другой пример. Сейчас соцзащиту области переводят на ЭСРН — единую систему дел и льгот, на java, под Tomcat и MS SQL. Я, как специалист, с ней работающий, могу сказать, что в этой системе очень многое сделано плохо, насчет деталей даже пояснить, как исправить.

И точно так же я могу начать критиковать сам выбор платформы, приводя доводы против нее — дескать, программа сейчас работает очень долго даже на сравнительно больших выборках. Но эта критика будет пустой — я не могу предложить лучшую альтернативу, которая бы с теми же затратами выполняла все необходимые функции. А при этом через Sitex ЭСРН назначаются выплаты десяткам тысяч человек, которым положены соответствующие льготы — система работает.

То же с критикой правительства — можно сколько угодно болтать о том, как все плохо. Но:

а) Это «плохо» обычно сильно раздуто и преувеличено,

б) В этой болтовне не заложено сносной альтернативы,

в) а зачастую и вообще конструктивной критики,

г) Эта болтовня ничего не изменит. Проводи аналогии или не проводи.

У нас получается критика ради критики. У каждого из нас должна быть «гражданская сознательность» (не истеричная склочность, не диссидентская критика и даже не анонимность Гая Фокса).

Считаешь коррупцию злом — не платишь мзды даже «гаишнику» на дороге. Если видишь, что кто-то украл у другого сумку — помогаешь остановить преступника. Да хоть бабушку через трамвайные пути помоги перевести — это куда ощутимее, чем разговоры о низких пенсиях.

Из последних примеров — благодаря Ивану Бегтину (пусть он и не «простой обыватель») были вскрыты реальные махинации на госзакупках (а не абстрактная «коррупция») www.webplanet.ru/news/law...fas_zakupki.html

> Считаешь коррупцию злом — не платишь мзды даже «гаишнику» на дороге. Если видишь, что кто-то украл у другого сумку — помогаешь остановить преступника. Да хоть бабушку через трамвайные пути помоги перевести — это куда ощутимее, чем разговоры о низких пенсиях.

Если бы я в своей записи писал о локальных бедах системы — это было бы верно. А я писал о том, что менять нужно ядро. Лично меня не устраивает в системе базис, а не плохая реализация функций. Именно эту мысль я и продвигал. Что избавиться от многих бед можно, только изменив ядро.

А альтернатива моя лично — минимизация государства.

ru.wikipedia.org/wiki/%D0...0%B8%D0%B7%D0%BC

en.wikipedia.org/wiki/Small_government

Все начинается с мелочей. Любое крупное и резкое изменение ведет только к ухудшению обстановки в целом. Это я тебе как программист говорю :)

@автор: Да, но можно занести крупное изменение в план и двигаться к нему по периферии. Выйдет почти тоже самое, однако если в плане не будет занесено изменения ядра — то процесс никогда не продвинется за определнный предел.

@Роман Настенко: «можно» — это прекрасно, я считаю.

Спасибо, Сергей, за пост. Такие сравнения меня тоже смущали, особенно в дискуссиях о распределенных вычислениях. Люди такие аналогии выдумывали, что хоть стой, хоть падай.

> Любое крупное и резкое изменение ведет только к ухудшению обстановки в целом. Это я тебе как программист говорю :)

Как программист программисту: ИМХО, всё зависит от подхода к проектированию. Да и часто бывает проще посидеть недельку, чтобы переписать модуль, вместо того, чтобы латать на заплатках заплатки.

А вообще при хорошей модульности системы и четко продуманном интерфейсе всю систему реально поменять модуль за модулем. Только вот в реальной жизни (я имею в виду государство) это будет напоминать попытку сократить парламент работой самого парламента.

@Vladimir: так я о чем и говорю. При создании системы расширяемость должна сразу закладываться в бизнес-логику. Та же инкапсуляция не зря, как говорится, придумана :)

В реальной жизни же мы имеем дело с естественной системой, а не искусственной. Если брать аналогию из другой близкой мне области — у натуральных языков вроде английского и русского полно исключений и тонкостей. Они обрастали этим, т.к. их «эволюция» шла вместе с развитием общества. А вот в искусственно созданном эсперанто удалось этого избежать — получили максимальную гибкость (которая, правда, не сделала этот язык повсеместно употребимым))).

Связанный пример с программированием (один из моих любимых): есть тот же c или php, которые, благодаря архитектуре развиваются, переписываются и т.д. Но те же проблемы стандартизации названий функций и порядка атрибутов нельзя решить без коллизий и потери обратной совместимости (малой кровью). Есть еще «искусственный» и молодой язык java с более стройной системой, продуманный с расчетом на недостатки «старых» языков — но и у него есть проблемы, и опять же из-за психологии людей, которые пишут под него библиотеки.

Куда не прикасается человек, он вносит в идеальную структуру задел для энтропии и хаоса %)

> Но те же проблемы стандартизации названий функций и порядка атрибутов нельзя решить без коллизий и потери обратной совместимости

Если проблема только в этом, то можно пойти путем разработчиков WordPress: добавляем новую функцию (например, esc_attr), а wp_specialchars объявляем устаревшей и не рекомендованной к использованию. В идеале переносим в файл deprecated.php. Через пару релизов (то, что ВП не делает) — убрать устаревшие функции нафиг. Получаем и разумный размер кода, и разумный срок поддержки устаревших вещей.

Эволюция хороша, если она допускает отмирание отжившего, в противном случае революция сделает это сама, но гораздо большей кровью.

@Vladimir: механизм объявления deprecated — старая штука. Но, если брать тот же HTML можно увидеть гео несовершенство. Кроме того, он не устраняет первопричину проблемы — здесь, например, больше подходит та борьба, которую ведет PEAR.

Да, нет в мире идеала.

> В реальной жизни же мы имеем дело с естественной системой, а не искусственной.

Однако, это нужно менять. Да, государства образовались стихийно. Но уже пришла пора оформить их более формально и логично. Не как мистику векового происхождения, а как искуственные образования существующие по воле НЫНЕ живущих. Рационализировать их и сделать прозрачными.

Роман, а государства это хотят?

@Роман Настенко: слова не мальчика, но... идеалиста ^_^'

Государство как было «общественным договором», так им и остается. В любой форме.

> Роман, а государства это хотят?

Государства не могут хотеть ничего. Это системы, а не люди. А люди многие на самом деле хотят. Если не прямо, то хотят такого, чего без формализации не достичь.

> Государство как было «общественным договором», так им и остается. В любой форме.

Особенно во времена Средневековья. Или с тех пор что-то изменилось? Под Конституцией народ не подписывается.

Не, тут надо такой вопрос задавать: «А обыватель этого хочет?» Опять «ТамаБанк и ТутаБанк», опять девальвация, деноминация и прочие страшные экономические слова. Опять стоять торговать спичками и бубльгумом, чтобы построить свою микроимперию. Опять братки в черных мерсах, и прочее.

Вот Роман отличную вещь наконец сказал. Что государство — это только система. Правда, отделять людей от этой системы тоже неверно — как не считать кирпич частью стены.

Мы все завязаны, нет?

> Государства не могут хотеть ничего. Это системы, а не люди.

В корне неверно рассматривать систему без учета ее составляющих.

> А люди многие на самом деле хотят.

Вы сейчас про каких именно людей говорите? Тех, которым кормушка не досталась, или тех, кто не хотят ее терять? И слово которых из этих категорий в нынешних реалиях имеет больший вес?

Идеальное общество — это, конечно, хорошо, только на мой взгляд, это утопия.

> Опять «ТамаБанк и ТутаБанк», опять девальвация, деноминация и прочие страшные экономические слова. Опять стоять торговать спичками и бубльгумом, чтобы построить свою микроимперию. Опять братки в черных мерсах, и прочее.

Что-то я вообще не понял, при чем здесь это? Формализацию можно довольно легко провести без всякой революции. Достаточно просто попросить (без всякого давления) людей подписаться под Конституцией (или иным представлением метадоговора с государством). Кто подписался — считай заключили договор с государством. Кто нет — считай высказались, что они тут жертва.

И все, вся мистика разрушена. А далее всего лишь нужно стараться это насилие минимизировать, где это возможно. Что нереального в таком подходе?

> Под Конституцией народ не подписывается

Под Конституцией подписываются народные избранники. Которые, к слову, не несут ответственности за принятые ими решения.

> В корне неверно рассматривать систему без учета ее составляющих.

Я не рассматривал систему, всего лишь указал, что нельзя говорить, что государство чего-то «хочет». Такую художественную мысль нужно переформулировать.

> Вы сейчас про каких именно людей говорите?

Да любых, которых не устраивают какие-то ограничения, накладываемые нынешней системой.

> Кто нет — считай высказались, что они тут жертва.

Хорошо, допустим. И что с ними (а они обязательно будут) делать? Вряд ли возможно составить такой Договор, который удовлетворит всех.

Да и согласие с договором не гарантирует готовность его исполнения.

> Под Конституцией подписываются народные избранники. Которые, к слову, не несут ответственности за принятые ими решения.

Чтобы «народные избранники» могли нести ответственность — избиратели сначала должны хотя бы один раз подписатсья под документом, который формализирует такую передачу прав на подпись.

> нельзя говорить, что государство чего-то «хочет»

Рассматривать государство как некий «коллективный разум», на мой взгляд, вполне оправданно :-) Потому что законы принимает (утверждает) не один человек.

> Вряд ли возможно составить такой Договор, который удовлетворит всех.

Невозможно. Однако приняв задачу минимизации насилия в рамках Договора можно переубедить многих под ним подписаться таки.

> Рассматривать государство как некий «коллективный разум», на мой взгляд, вполне оправданно :-) Потому что законы принимает (утверждает) не один человек.

Для кого-то, кто находится во внешнем к государству положении, например другому государству — возможно и имеет смыл так все упрощать, чисто для удобства. Но не тогда, когда мы рассматриваем отношения государства и его внутренних частей. Тут уже это упрощение, которое влияет на точность суждений.

> хотя бы один раз подписатсья под документом

Мнение большинства играет роль? Или только 100% согласие?

Если рассматривать честные сферические выборы в вакууме, то отдавая свой голос за конкретного избранника, Вы принимаете (разделяете) ответственность за его решения — ибо и Вы его выбрали и доверили уму свой голос. Если не согласны ни с одним из кандидатов — голосуйте против всех, кто Вам мешает? Если таких, как Вы, много, выборы будут признаны недействительными.

Если народный избранник не устраивает — отзовите его, закон это разрешает (разрешал). Если никто так не поступает, всем пофиг?

Если я не подписывал никаких договоров, для меня выборы — всего лишь механизм влияния на враждебную мне машину власти. Я ее не поддерживаю, однако если мне больше смысла имеет голосовать-агитировать за какую-то силу, чем не голосовать — я это буду делать. Но это все никак не отменяет того, что основа — чистое насилие, а не договор.

> приняв задачу минимизации насилия в рамках Договора можно переубедить многих под ним подписаться

Недовольные есть всегда. Аксиома. Формально, с точки зрения закона, все мы согласны с действующим положением вещей. Недовольных, готовых хоть что-нибудь сделать, реально мало. С точки зрения большинства (и согласных с этим большинства/нежелающими что-то менять/...) ими можно пренебречь :-)

> Но не тогда, когда мы рассматриваем отношения государства и его внутренних частей.

Мы рассматриваем общий случай или частности? Можно дойти до частностей a la Васисуалий Лоханкин и его роль в становлении государства, но на таком уровне за деревьями леса не видно.

По идее, если мы можем найти причину проблемы и пути её возникновения на высоком уровне абстракции, то нам будет проще рассматривать её в деталях — потому что мы имеем о ней представление, знаем, почему в общем случае так происходит и как в общем случае с ней бороться. ИМХО.

> основа — чистое насилие, а не договор

Но ведь мы (и Вы в том числе) — народ — сами сотворили над собой это насилие! Собственными руками, так сказать.

Власть — всегда насилие, особенно, если власть имеет цель удержать себя у власти.

Возьмите абстрактный первый класс — коллектив школьников-первоклашек. если наблюдать за ними со стороны, то видно, как появляются лидеры, «группировки», «недовольные», борьба за власть и прочие прелести, характерные для общества. Только в «мини» варианте, так сказать.

Моя теория (не претендующая на истину) — человеку нравится насилие над собой (не путать с мазохизмом), человек готов переложить ответственность за принятия решений на кого-нибудь другого, чтобы потом иметь право сказать/поворчать: «Я же говорил!». Человек готов быть ведомым, по крайней мере до тех пор, пока это не сильно ущемляет его интересы/дает возможность относительно комфортному существованию.

На Хабре пошли дальше и решили пофантазировать, как будет выглядеть «охабренное» государство habrahabr.ru/blogs/i_am_clever/62762/ (только не упомянут произвол разработчиков, да, Роман?))

(случайно попал сюда)

habrahabr.ru/blogs/i_am_clever/62762/ — это вообще мой топик :)))

А здесь можно оставить свое мнение ↓ Подписка на комментарии
какие-то из следующих трех полей можно оставить пустыми


нет тегам!!! **эмоция**, __ирония__, >цитата, {[код]}