[мегапузырь_IT] "А судьи кто?"

Nov 02, 2015 01:28

[мегапузырь_IT] лажевый мегапузырь наших дней: сфера IT

Очередной пример того, как обдумывание объяснений для студентов фокусирует Das Denken (если оно в мозге есть).

Сначала быстренько повторим главное:

Имеется явление антропологического, даже геохимического масштаба:
впервые в истории Жизни на Шарике комбинаторный интеллект вырвался из Read more... )

idiota, сложность, контупероид, эволюция, it

Leave a comment

scaredy_cat_333 November 20 2015, 00:57:59 UTC
>это даёт возможность строить решения для беспрецедентных по сложности задач, что создаёт вокруг контупероидов ауру немереной крутизны.

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

>С другой -- спонтанное самофункционирование приматического интеллекта в этих условиях создаёт беспрецедентные приматические нагромождения

Я бы даже сформулировал лемму, пиженую у по аналогии с законами Паркинсона. А именно:
Группа софтверных изделий поддерживаемая неким коллективом хомо сапиенсов неизбежно стремится к максимуму сложности, что этот коллектив приматов еще способен вынести.
(Посему, даже если задача и не так сложна, решатели все равно могут чувствовать свою крутизну, не только по реакции обделенных окружающих, но и по собственным ощущениям).
Доказательство - путем наблюдений.
Наблюдение 1. Изделие, находящееся под лучшим контролем создателей легче и быстрее нацелить на новый сегмент рынка - больше шансов выиграть заказы - будет больше предложений от заказчиков по изменению и улучшению (т.е. увеличению сложности).
Наблюдение 2. Изделие, находящееся под лучшим контролем создателей - больше и активнее вовлекается в нагромождения изделий, как создателями, так и заказчиками. Тут сложность каждого отдельного кубика не обязательно меняется, но сложность конструкции из кубиков может превзойти всякие ожидания. Тут должна бы быть поучительная и в других отношениях история, как мы заменили кубик с полностью потерянным контролем, размером в 120 тыщ строк на кубик с полностью восстановленным контролем в 8 тыщ строк - и что тут началось. Если коротко: и заказчики, заметив, что ЭТО внезапно стало работать как часы - начали использовать в самых невероятных конструкциях, и мы сами, обнаружив строительный блок, более не нуждающийся в уходе - понастроили такого... Расскажу подробней, когда время будет. В любом случае: 120 тыщ строк - далеко позади. В результате сокращения сложности - сложность выросла.
Наблюдение 3. Когда из изделий громоздят башню из разных кубиков - см.Набл.2, и прямо не сопрягается, то изменения (т.е. повышение сложности) будут сделаны в кубике, находящемся под лучшим контролем создателей. Вашему покорному слуге пару раз говорили заказчики, что при возникновении трабла, они молятся, чтоб в трабле было виновато изделие нашей фирмы, или чтобы мы согласились его подкрутить. Ибо если трабл - в соседнем кубике "партнеров", то решения они будут ждать чуть ли не годами. (Почему-то такое поведение - взять и решить трабл быстро - называется агрессивным. As in: "за 15 лет работы в ИТ я первый раз встречаю такую агрессивную компанию". Всего-то подключили человека напрямую и за 3 месяца порешали все его проблемы, совершенно не напрягаясь. Крутили в том числе и кубик на 8 тыщ строк из предыдущего примера. Крутить его было легко и приятно. А прежний, на 120 тыщ, мы крутить уже вообще не могли). То есть: принес простое решение - именно его будут крутить и усложнять.

Отдельным случаем Набл.3 является ситуация, когда соседняя банда потеряла контроль за своим изделием абсолютно (as in потеряли по разгилядяйству менеджмента команду, а сложность изделия такова, что коллектив с улицы подхватить неспособен). Тут начинаются просьбы вставить в наш кубик такое... вагон бананов же пропадает!! а возражения они понять неспособны (с меня конкретная замечательная история).

Где-то так. Собственно, про возникновение нагромождений вы и сами сказали, а механизмы я, надеюсь, прояснил.

Reply

scaredy_cat_333 November 20 2015, 00:58:26 UTC
Следствие из леммы. Для максимизации бананов, сшибаемых изделием, средства при изготовлении изделия следует применять как можно более простые.
В самом деле. Сложность "кубика", что команда должна поддерживать состоит из 1) сложности решаемой задачи как таковой, 2) сложности средств, применных для конструирования кубика. Бананы дают только за 1. 2 - позволяет почесать гонорит, но не прямо сшибить банан. Поскольку совокупная сложность - по лемме - достигнет максимума, что команда способна в принципе поддержать, то единственный способ - при заданной команде - повысить сложность решаемой для рынка задачи (т.е. увеличить сшибаемые рыночные бананы) - это понизить сложность применных средств. Т.е. в частности, язык программирования должен и сам быть простым, и поощрять применение простых средств.

Reply

scaredy_cat_333 November 20 2015, 01:04:12 UTC
Следствие из следствия. Инструкция по боевому применению языка С++ в нашей конторе (напомню "самая агрессивная -- т.е. быстро решающая проблемы -- за 15 лет работы [CTO заказчика] в ИТ") способна повергнуть апологетов мема "сложный язык необходим для производства" в ужас и бегство. Надо бы ее вам переслать.

Reply

scaredy_cat_333 November 20 2015, 01:16:30 UTC
>единственный способ - при заданной команде - повысить сложность решаемой для рынка задачи (т.е. увеличить сшибаемые рыночные бананы) - это понизить сложность применных средств. Т.е. в частности, язык программирования должен и сам быть простым, и поощрять применение простых средств.

В примере из наблюдения 2 наглядно показано (надеюсь), как сложность убираемая из средств (120 тыщ -> 8 тыщ) смещается в сторону задач, предлагаемых рынком. Но справедливости ради мы там и команду поменяли. 4-х киевлян на одного Мишу с мехмата... Но он те 120 тыщ тоже не смог бы контролировать. Смайл.

Reply

scaredy_cat_333 November 20 2015, 01:05:57 UTC
Глядя свежим глазом, лучше так:
Группа софтверных изделий поддерживаемая неким коллективом хомо сапиенсов неизбежно стремится к максимуму сложности, что этот коллектив приматов в принципе способен вынести.
Но поправить уже не могу: сам же закрык комментом, ну да и ладно.

Reply

vteninn January 28 2016, 11:03:46 UTC
В комментах намечены три опции ("подробней, когда время будет", "конкретная замечательная история", "надо бы ... переслать").

Просто любопытство, не более. "Когда время будет".

Reply

(The comment has been removed)

vteninn January 31 2016, 10:55:12 UTC
Looking forward to etc.

Reply

vteninn January 31 2016, 10:57:43 UTC
Ой, нечаянно удалил коммент вместо ссылки на него во Входящих.

Пардон.

Reply

scaredy_cat_333 January 31 2016, 12:04:45 UTC
Да не страшно. Одно обещание выполнил - послал через приват ссылку на боевую инструкцию по урезанию C++.

Reply

vteninn January 31 2016, 13:17:49 UTC
Огромное спасибо! Остальное в личке.

Reply

scaredy_cat_333 January 31 2016, 12:01:12 UTC
Ну Вы сами виноваты, рекомендуете интересные книги: http://vteninn.livejournal.com/337768.html?thread=1233256#t1233256. Смайл.
Но спасибо за напоминание. В общем-то это все - иллюстрации, но местами веселые, рассказать будет приятно.

Reply

vteninn November 20 2015, 03:45:27 UTC
Огромное спасибо! (За всю эту серию комментов.)

Сразу не отвечаю -- не хочу спешить, тема центральлная.

Reply

scaredy_cat_333 January 31 2016, 10:23:23 UTC
Прочитал по вашей наводке (тут не только Вы виноваты, рекомендации поступали и от биологических знакомых, но решающий гвоздь, видимо, ваш) несколько книг Александра Маркова. Читаю, точнее: еще в процессе, но уже искру поймал больших размеров. Книга "Рождение сложности", глава "Регуляторный компромисс". Идея самого Маркова, ранее опубликована только на сайте "Проблемы эволюции". Курсивом - цитаты:

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

"Требование целостности системы" - это более сильное и более "кибернетически" корректное требование, чем наше "команда владеет продуктом". Но в программировании. где таки есть "интеллигентный дизайнер", это фактически синонимы: команда владеет продуктом, по определению означает: команда способна менять продукт, не разрушая его (не нарушая целостность системы).
А вот "требования адаптивности" - это просто синонимы в биологии и в ИТ. Я напирал на открывающиеся новые рыночные возможности (в биологии - это бы называлось завоевание новых экологических ниш), а Марков - на приспособление к изменениям окружающей среды (в ИТ - изменение рыночной ситуации), но понятно, что "адаптивность" покрывает и то, и другое, и механизмы для обоих направлений адаптивности - совпадают. "Захватываем новую экологическую нишу с холодной водой" и "приспосабливаемся к похолоданию" - различаются разве что последствиями неудачи, но вряд ли механизмами.

Далее Марков проводит серию наблюдений, как именно в биологии решается обозначенный компромисс. И приходит к выводу: "Очевидно, что любой из перечисленных путей требует дальнейшего усложнения организма и онтогенеза... В этом можно заметить механизм положительной обратной связи: усложнение системы ведет к конфликту, снятие которого возможно только путем дальнейшего усложнения." Squeee!

"Сняв путем усложнения старые конфликты, организм неизбежно сталкивается с новыми...
Moжет быть, в этом состоит одна из причин наблюдаемого ускорения прогрессивной эволюции. Биологи давно заметили эту общую тенденцию: чем сложнее организм, тем быстрее он эволюционирует по пути дальнейшего усложнения. Причины этого до сих пор не вполне ясны".

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

Reply

vteninn January 31 2016, 10:40:17 UTC
Большое спасибо.

Всё-таки, наверное, бывают и структурные перестройки, ведущие к упрощению с повышением адаптивности.

То есть рост не монотонный, а с зигзамами.

Сравнивать Эволюцию живой природы и IT -- очень интересно, да.
Однажды кто-то это должен сделать систематически.
Абстрагировать общий делитель.

Reply

scaredy_cat_333 January 31 2016, 12:18:11 UTC
>Всё-таки, наверное, бывают и структурные перестройки, ведущие к упрощению с повышением адаптивности.

Один из общих делителей - это что утверждения как в биологии так и в ИТ можно сделать только про "как правило", а не про "как всегда". Включая это. Смайл. Упомянутый мной скачок со 120тыщ до 8тыщ - все же очень большая редкость. Понадобился ряд крупных аварий, чтобы. Разумность разумных дизайнеров очень сильно ограничена ежеквартальностью финансового отчета. В частности. И да, скачок вниз был временным.

Reply


Leave a comment

Up