vit_r: default (vit_r)
[personal profile] vit_r
Давным-давно написал текст про драконов. Много кто его читал, мало кто понял. Но тут уж я сам виноват. Интегральные вещи очень сложно объяснить представителям западной культуры. Потому как все упирают на анализ и практически никто не владеет синтезом.

Если говорить грубо и просто, краткая выжимка из всех этих попыток такая.
The Software Dragons are heavily connected networks of problems.

They are called Dragons because they cannot be fought with convenient methods. All attempts to solve small problems separately fail because of unintended consequences. All attempts to solve or even to understand the system as whole fail because of the complexity of interdependencies.

You cannot win against them but you can follow 3 rules.

1. Do not ignore Dragons.
2. Do not feed them.
3. And kill them when they are still small.


Текст, конечно, надо переписывать. Но у меня на очереди ещё дофига всего, что надо...

А вспомнил я про эту тему потому, что [livejournal.com profile] ailev собирается создавать драконью ферму.

Идея глобальная и благая (Да, направление движения как раз туда).

Подробно мои претензии можно посмотреть по ссылке. Если кратко, то:

  1. Нет смысла собирать информацию из различных миров в одну кучу. Системы должны собираться из подсистем и интерфейс наверх должен быть минимально необходимым.

    Именно необходимым. Причём, если есть пути не расширять его, именно ими и надо и идти.

    И не менеджерам и бухгалтерам необходимые, а инженерам.


  2. Нельзя соединить системы разных философий, не влезая глубоко в их реализацию и не учитывая их реальные ограничения.

    Не потому, что это сложно или плохо стыкуется, а потому, что дьявол в деталях.

    Причём, на то, чтобы сделать всё правильно, бюджетов всегда не хватает. То есть, придётся идти на компромиссы. А это значит, закладывать бомбы замедленного действия.


  3. Квалифицированных кадров не хватает. Всегда.

    А это значит, что всякими модными вещами будут заниматься те, кто бесполезен.

    Нет, во время этапа proof of concept на новой технологии могут сидеть гении, практики и высокооплачивыемые спецы. Но как только оно пойдёт в массы, все чудесные базовые вещи, на которых будут основываться мощные системы и умные процессы попадут в руки практикантов, дураков или, ещё хуже, бангалорского оффшора.

    (И там загнутся)


  4. Критерий правильной системы один: она экономит время. Причём, не кому-то там дальше по цепочке, а именно тому конкретному человеку, который будет тыкать кнопочки.

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

    Теоретически бывает по-другому. Практически каждый раз я вижу одно и то же: «Мы готовы это делать, но как-нибудь потом. Сейчас у нас завал с нашей непосредственной работой.»


  5. Любое объединение и нововведение не висит в пустоте, а требует для ногмальной работы объединения с огромными массивами информации, заполненными по старым технологиям. Как правило, это нереально, потому что надо всё переводить в новый язык, новую парадигму или новый формат. На это нет ресурсов и денег. Обычно это ещё и пытаются провернуть дилетанты, выбирая самые дикие способы.


  6. Специалист - это человек, знающий и понимающий несколько смежных миров. И не теоретически, а имеющий много лет реального опыта.

    Только такие специалисты-универсалы способны осуществлять контакт между узкими специалистами. Попытка это сделать программами провалится.

    Потому что ни одна программа не может вытянуть культуру и контекст.

    Студенты и аспиранты, выучившие «Самую Правильную Методику», тоже не могут. Слишком много есть вещей, которых в университетах не учат. Кое-что относится к тому, о чём вообще редко говорят вслух.


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

    Если сжульничать с определением требований и просто добавить «настраиваемость и расширяемость», любой участник процесса, чтобы съэкономить пятнадцать минут работы, прау нажатий на клавиши или просто выпендриться, будет привешивать к системе дикие, несовместимые расширения. Причём, в половине случаев ошибочные не только по идеологии, но и по исполнению.


  8. . Чтобы не было ошибок, любая система должна иметь проверку входных данных, инвариантов и тех результатов, которые она выдаёт, а на любой язык должны быть наложены правила стилистики.

    Вот этого практически никто нормально не умеет.

Date: 2014-08-13 04:34 pm (UTC)
ext_615659: (Default)
From: [identity profile] akuklev.livejournal.com
Где вверху? Я у вас никаких постов про Оберон не читал.

Date: 2014-08-13 05:06 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Там где ссылки собраны должна быть и про Оберон 2

Date: 2014-08-13 05:06 pm (UTC)
ext_615659: (Default)
From: [identity profile] akuklev.livejournal.com
О, у вас оказывается есть верхний пост со ссылками. Я вас только во френдленте читаю, поэтому не видел раньше. Посмотрю при случае.

Profile

vit_r: default (Default)
vit_r

February 2026

S M T W T F S
12 34 567
8 9 101112 1314
1516 171819 20 21
22 23 2425 262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 27th, 2026 02:01 am
Powered by Dreamwidth Studios