Я рад приветствовать вас, дорогие читатели.
Я думаю, что многие из вас, будучи разработчиками информационных систем различного назначения так или иначе сталкивались с понятием оптимизации рабочих процессов, составляющих основную часть той рутины, которую приходится выполнять для достижения поставленных целей.
Скажу сразу — я не задаюсь целью мотивировать или призывать к каким-либо правилам эффективной работы, т.к. все слишком индивидуально, чтобы давать подобные советы, но я постараюсь обратить ваше внимание на некоторые, на мой взгляд, интересные детали, лежащие в основе принципов проектирования, которые заметил и осмыслил на собственном опыте. Отмечу также, что статья будет актуальна не только IT-шникам, но и абсолютно всем категориям читателей.
К сожалению, я не могу быть предельно объективен по понятным причинам. Я постараюсь как можно более наглядно и, по возможности, интересно выразить мысли и идеи. Я не художник, но все-таки сделал некоторые иллюстрации, надеюсь, они вам понравятся. Хочу поблагодарить сообщество за приглашение и пожелать вам приятного и легкого чтения.
Работая над различными проектами, я заметил одну особенность — иногда происходят своего рода всплески производительности, когда буквально за 3 часа я могу выполнить объем работы распланированный на целый день. В этот момент, время, потраченное на размышление и поиск решения, сводится к абсолютному минимуму. В некоторой степени я вообще не размышляю, я просто интерпретирую и исполняю те действия, мысли о которых возникают в сознании. Возможно, вы, как и я, также периодически сталкиваетесь с подобным эффектом, на который часто просто не обращаете внимания.
В большинстве подобных случаев я даже не задумывался над причинами, нативно объясняя их вдохновением, хорошим настроением, запасом сил и другими необоснованными факторами в противовес тем несоизмеримо бо́льшим отрезкам времени, в которых моя относительная производительность невелика. И если в работе, в постоянной спешке, причины не столь очевидны, и сам факт таких всплесков активности чаще всего не замечается, смешиваясь с будничной суетой и постоянным переключением контекста, то занимаясь собственными разработками, я просто не мог не обратить на это пристального внимания и ощутить искреннее удивление происходящему.
Иногда, подолгу размышляя над решением задачи и не приходя к нужным результатам, я бросал все, считая, что задача слишком сложна, что я не могу прийти к лаконичному решению. Я думал, что стоит отложить все на время, чтобы дать возможность себе отдохнуть. Самое интересное начиналось дальше — я мог делать все что угодно, но решение приходило спонтанно. Я думаю многим знакомо это ощущение, когда идея внезапно возникает в сознании, захватывая полностью разум: представьте себе, вы читаете книгу или статью и, отвлекаясь от чтения (но «читая глазами текст»), вдруг понимаете, что ваше сознание полностью заполнено некими мыслеобразами, анализируя которые, вы приходите к впечатляющему выводу — я так долго искал это решение!
Однажды я прочитал знаменитую статью Алана Тьюринга «Могут ли машины мыслить?» и столкнулся с утверждением, которое в очередной раз заставило меня подумать над всплесками активности моего сознания:
«Можно сказать, что человек «вставляет» в машину ту или иную идею, и машина, прореагировав на нее некоторым образом, возвращается затем к состоянию покоя, подобно фортепианной струне, по которой ударил молоточек. Другое сравнение: атомный реактор, размеры которого не превышают критических. Идея, вводимая человеком в машину, соответствует здесь нейтрону, влетающему в реактор извне. Каждый такой нейтрон вызывает некоторое возмущение, которое в конце концов замирает. Но если величина реактора превосходит критические размеры, то весьма вероятно, что возмущение, вызванное влетевшим нейтроном, будет нарастать и приведет в конце концов к разрушению реактора. Имеют ли место аналогичные явления в случае человеческого разума и существует ли нечто подобное в случае машин? В первом случае, кажется, следует дать утвердительный ответ. Большинство умов, по-видимому, являются «подкритическими», т.е. соответствуют, если пользоваться приведенным выше сравнением, подкритическим размерам атомного реактора. Идея, ставшая достоянием такого ума, в среднем порождает менее одной идеи в ответ. Несравненно меньшую часть умов составляют умы надкритические. Идея, ставшая достоянием такого ума, может породить целую «теорию», состоящую из вторичных, третичных и еще более отдаленных идей.» (Алан Тьюринг «Могут ли машины мыслить?», VII. Обучающиеся машины)
После прочтения этих строк я был ошеломлен: Алан Тьюринг, используя изящную метафору, описывал эффект, который я многократно наблюдал за собой при работе — всплеск активности сознания и рождение / возникновение идей (как мне казалось, без моих усилий).
С этого момента я решил более осознанно подойти к феномену, я начал экспериментировать, исследовать, подмечать все нюансы, которые провоцировали меня реагировать именно так… но я не находил прямой зависимости. Я мог проработать несколько дней, по 10 часов выписывая строки кода и проектируя базу данных, при том, что работать было тяжело. Но в один из выходных дней, я просто ясно понимал как именно нужно сделать. И дело здесь совершенно не в том, что я действительно прилагал усилия и шел причинно-следственным методом к достижению конечного представления.
Скажу откровенно, в моменты осознания скорее я думал о чем угодно, но только не о работе.
Иногда у меня возникали странные философские мысли, что тело является тонким клиентом, а все вычисления происходят где-то «в облаке», и мы можем лишь желать, инициировав «поисковый запрос» системе. Ведь по большому счету так оно и было, эмпирически я не мог осознанно найти путь между задачей и ее решением, так как мои попытки решений были локальными и не имели масштабного значения. Иными словами, проектируя отношения в базе между несколькими таблицами, невозможно осознать, какой должна быть структура в целом. Но парадокс существовал и не давал мне покоя, я часто подолгу сидел ночами, выискивая материалы по теме, я хотел разобраться в чем причина. «Может быть я схожу с ума?», — это тоже была одна из рабочих версий =).
Однажды я сидел и разбирался в структуре небольшого фреймворка, мне была интересна не реализация, а концепция, я был одержим (да и сейчас одержим) проектированием альтернативной парадигмы, наиболее удобной лично для меня. Это был очередной шаг оптимизации собственной работы, но в процессе я стал замечать то, как я мыслю. Я представлял себе образы: система состояла из блоков, блоки взаимосвязаны нитями взаимодействий, я мог видеть картину процессов, моделируя ее в воображении, но как только я переставал концентрироваться на ней, она расплывалась. Я заметил определенное сходство с тем, как просыпаясь, сон растворяется в памяти на наших глазах. Он просто рассыпается сначала на слабосвязные, а затем совершенно независимые фрагменты событий.
Я не остановился на этом, я пошел дальше и начал искать пределы собственного воображения, и именно в этот момент я столкнулся с одним из наиболее ярких эпизодов, который заставил меня все-таки написать сначала несколько коротких заметок, а затем выразить собственную мысль в том виде, в котором она предстала перед вами: до определенного предела сложности модели в воображении я ясно видел образ и легко оперировал им, я комбинировал схему в поисках оптимального решения, я производил операции крайне быстро и логика была предельно ясна. Но как только я усложнял схему, она начинала терять детализацию, становилась запутанной, неясной, сложной для восприятия, — я начинал терять производительность. В этот момент я ясно и глубоко осознал причину, по которой моя работа оказывалась недостаточно эффективной.
На основе ряда экспериментов я сделал следующие выводы:
Ядро нашего сознания (то, что мы называем наше «Я») несет в себе функциональную логику и не обладает памятью. Ядро сознания оперирует образами, которые мы осознаем как собственное воображение. С точки зрения наблюдаемых мною зависимостей, система (воображение) состоит из нескольких уровней — собственно, ядро сознания и область сверхоперативного доступа к информации.
Насколько я могу судить из открытых источников информации — наш мозг, в том его проявлении, которое мы привыкли понимать под этим термином, является адаптивной системой. Наша память устроена таким образом, что новая поступающая информация сначала сталкивается с трудностью восприятия, а затем вносит искажения в существующие образы в памяти, таким образом, процесс запоминания — это процесс адаптации системы, который совершенно естественным образом оказывает искажающее влияние на предыдущий опыт, создавая эффект «забывания».
Эта научная теория о механизмах памяти показалась мне разумной, так как эмпирически я наблюдал подобные процессы. Она позволила мне дополнить выводы:
Сознание не в состоянии статично удерживать образы, так как не обладает памятью. Образ в сознании находится в постоянном процессе деградации детализации. Иначе говоря, мы постоянно теряем детали того образа, о котором думаем. Это происходит вследствие рефлексии нашей сущности.
Для того, чтобы противодействовать деградации детализации, ядро нашего сознания обращается к сверхоперативной памяти с целью восстановить в кратчайшие сроки утраченную информацию. Это своеобразный «кеш» или «регистры» нашего сознания и объем этого информационного банка крайне ограничен!
Размер области сверхоперативной памяти сильно ограничен. Чтобы проверить ограничения собственного «кеша» можно провести простой эксперимент:
Представьте себе маленький шарик, для вас очевидно, что он один. Затем последовательно представляйте хаотично разбросанные (не образующие группы) шарики, не считая их количество, а четко понимая сколько их, например: два, затем три, четыре, пять… до тех пор, пока вы не осознаете, что не можете удержать это количество в воображении и не можете сказать сколько их, опеределяя их количество как «много». Это и есть предел. Бо́льшим количеством элементов сознание не может оперировать, переходя на уровни абстракции.
Чем меньше объектов, тем проще восприятие (ниже порог вхождения).
На мой взгляд, религия разрабатывалась именно с целью уменьшения количества основных объектов (триединство и т.д.), чтобы сделать идею доступной 100% населения.
Семь нот, семь основных цветов в видимом спектре (наверняка, помните из детства: «Каждый охотник желает знать...»), не более 6-7 элементов в меню для лучшего восприятия и т.д.
Позволю себе предположить, что значение около 7 — среднестатистический порог объема сверхоперативной памяти, при котором сознание может эффективно оперировать образами, не производя смену контекста и не задействуя механизм абстрагирования, когда большее количество фактических элементов представляется на функциональном уровне сознания меньшим количеством интерпретируемых объектов.
Абстрагирование как базовый элемент оптимизации: когда наше сознание нативно подходит к ограничениям объема сверхоперативной памяти, происходит процесс объединения элементов в абстрактные объекты. Например, вы представляете себе все те же шарики, один, два, три… но затем естественным для вас образом начинаете группировать их в образе в ряды и столбцы, образуя три ряда по три шарика, четыре по три, затем 5х5 и т.д., при этом не сомневаясь в том, что вы явно осознаете без счета их количество. На самом деле ядро сознания абстрагирует набор конкретных элементов в один абстрактный объект, при этом не имеет значения сам образ (строка из элементов, матрица из элементов и т.д.), важно лишь количество образов, выделяемых как сущность.
На нашей планете порядка 7 000 000 000 отдельных личностей, но мы воспринимаем их как «человечество».
В любой воображаемой вами схеме предельное количество абстрактных сущностей будет стремится к пределу объема сверхоперативной памяти.
Это означает, что существует физический предел сложности проектирования систем, имеющий в основе ограничение на уровне сознания разработчика.
Мы не в состоянии вообразить себе больше, чем умещается в области сверхоперативной памяти. В противном случае сложный образ будет рассыпаться в нашем воображении, подобно сну, так как латентность доступа к уровню обычной памяти гораздо больше времени деградации детализации образа. Сознание не будет успевать восстанавливать разрушающийся образ — мы будем путаться и терять связи в той сложной модели, которую пытаемся представить.
Сознание может пребывать в состоянии временного увеличения объема сверхоперативной памяти. Это и есть причина всплесков производительности. В некоторое временно́е окно ядро сознания начинает работать в каком-то ином режиме (состояние транса, вдохновение, муза — называйте кому как угодно, лично я предпочитаю термин «дзен»), в котором оно способно захватить и оперировать значительно более сложными образами, чем в стандартном режиме. В эти моменты мы можем наблюдать то, что принципиально не видим в нормальном состоянии. Идеи более яркие, впечатляющие, значительно более масштабные и детализированные, решения мгновенны, картина четкая и ясная. Это своего рода форсаж, временное увеличение адресации памяти нашим «цпу», позволяющее «запустить более объемное ПО».
Логическое мышление является механизмом входа в состояние транса. Когда мы многократно обдумываем пути решения, повторяя цепочки причинно-следственных связей в нашем воображении, то мы невольно являемся инициаторами своего рода полиморфизма в механизме ядра и сферхоперативной памяти. Для нашего «Я» такая подмена заметна лишь по косвенным признакам (например, замечая, что работа идет на ура).
Наверняка где-нибудь видели (например, в документальных фильмах), как шаманы произносят повторяющиеся фразы нараспев погружаясь в транс… Наверняка встречали информацию по погружению в гипнотическое состояние… А не тоже самое ли мы делаем, когда в состоянии концентрации раздумываем над алгоритмом, постоянно прокручивая аналогичные логические цепочки в воображении, а затем часто, сменив контекст (вид деятельности) мы в изумлении начинаем «видеть»?
Не зря фраза звучит именно так: «У меня возникла / появилась (мгновенно) идея!», вместо «я долго работал и собрал идею из мыслей».
Общая схема уровней работы сознания по увеличению латентности доступа:
— Ядро («Я вообразил!»)
— Сверхоперативная память («Я представляю и вижу образ неизменным»)
— Обычная память («Секунду, сейчас вспомню… Да, точно, вспомнил!»)
— Внешняя память («Подождите, не так быстро. Я запишу.»)
Невозможно не увидеть явной аналогии со схемой строения компьютера в контексте доступа к данным.
Связи тоже являются сущностями. Дело в том, что не только количество объектов занимают объем сверхоперативной памяти, но и связи между объектами, так как с точки зрения хранения сущностей связь тоже является самостоятельным объектом.
Давайте проведем очередной мысленный эксперимент: воображайте все те же шарики, но теперь, рисуйте между ними связи, образуя своего рода графы с произвольным количеством и конфигурацией связей. Продолжайте усложнять граф и взаимозависимости до тех пор, пока вы не осознаете, что не понимаете количество связей, что схема уже слишком сложная и детали начинают теряться. Вы снова достигли предела области сверхоперативной памяти, и на этот раз, скорее всего количество шариков (вершин графа) значительно меньше, чем в предыдущем эксперименте (когда вы представляли себе объекты без связей).
Таким образом, проектируя любую систему, я не просто понял, но глубоко осознал с точки зрения механизма работы воображения (на основе эмпирических данных) принцип того, что увеличение количества связей между элементами системы на одном уровне значительно увеличивает ее сложность, как следствие, снижая эффективность разработки и качество конечного продукта, вынуждая переходить на все более высокие уровни абстракции. Но совокупность уровней абстракции сама по себе является некоторым количеством объектов и взаимосвязей между ними, и на них также распространяется правило ограничений, что в целом ограничивает сложность разрабатываемой системы. (стоит заметить, что как такового предела нет, дело лишь в том, что каждое новое усложнение архитектуры будет очень значительно увеличивать время реализации нововведения, вплоть до того, что время будет несоизмеримо с затратами иных ресурсов или разумными пределами).
На мой взгляд, наиболее сложной с точки зрения выявления ошибкой при разработке является ошибка проектирования и инкапсуляции логики в абстрактные уровни, так как она неочевидна до того момента, пока система не перестает быть понятной, вынуждая делать глубокий рефакторинг кода, выливающийся в колоссальные временные затраты. Сложность в том, что мы не знаем, когда это случиться, но если это случается, то ситуация усугубляется делегированием разработки… в целом никто не может быть уверен в том, как работает система, в свою очередь это приводит к необходимости глубокой трассировки (не уверен что этот термин применим, извиняюсь, имею в виду анализ работы и многих сотен / тысяч взаимозависимостей между компонентами системы).
Еще я бы добавил: если вы видите «спагетти»-код, это не значит, что логика его исполнения в чем-то плоха, и он написан садистами-извращенцами. Это просто говорит о том, что количество функциональных элементов и взаимосвязи между ними не умещаются в области сверхоперативной памяти вашего сознания, и вы не можете представить и осознать картину в целом. В свою очередь из этого следует: либо автор крайне одаренный индивид, который допускает удобство разработки сложных запутанных и неочевидных для стороннего наблюдателя / читателя алгоритмов в погоне за какими-то субъективно выбранными критериями (метапрограммирование, рефлексия?), либо вы изучаете систему не на том уровне абстракции, залезая в дебри реализации и заполняя область сверхоперативной памяти низкоуровневыми объектами, тем самым, повышая порог вхождения, так как разработчики оперировали при проектировании более высокоуровневыми объектами: модули, структуры, объекты, агенты и т.д.
Из всего вышесказанного следует целая россыпь логических цепочек и рассуждений, связанных с ними выводами, а также фундаментально важные представления.
Пускай, эта небольшая заметка будет подобна нейтрону, влетевшему в реактор вашего сознания.
Дело в нас самих. Весь мир вокруг нас — проявление нашей деятельности… в рамках фундаментальных ограничений на уровне сознания. И если у нас есть возможность, если есть механизмы, расширяющие область «видимости», если у нас есть возможность мыслить, анализировать, интерпретировать и классифицировать бесконечные потоки новой информации, выстраивая собственные индивидуальные алгоритмы мышления — глупо не использовать этот мощнейший потенциал.
И напоследок: весь смысл в том, что мы можем искать смысл ;)

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

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

Однажды я прочитал знаменитую статью Алана Тьюринга «Могут ли машины мыслить?» и столкнулся с утверждением, которое в очередной раз заставило меня подумать над всплесками активности моего сознания:
«Можно сказать, что человек «вставляет» в машину ту или иную идею, и машина, прореагировав на нее некоторым образом, возвращается затем к состоянию покоя, подобно фортепианной струне, по которой ударил молоточек. Другое сравнение: атомный реактор, размеры которого не превышают критических. Идея, вводимая человеком в машину, соответствует здесь нейтрону, влетающему в реактор извне. Каждый такой нейтрон вызывает некоторое возмущение, которое в конце концов замирает. Но если величина реактора превосходит критические размеры, то весьма вероятно, что возмущение, вызванное влетевшим нейтроном, будет нарастать и приведет в конце концов к разрушению реактора. Имеют ли место аналогичные явления в случае человеческого разума и существует ли нечто подобное в случае машин? В первом случае, кажется, следует дать утвердительный ответ. Большинство умов, по-видимому, являются «подкритическими», т.е. соответствуют, если пользоваться приведенным выше сравнением, подкритическим размерам атомного реактора. Идея, ставшая достоянием такого ума, в среднем порождает менее одной идеи в ответ. Несравненно меньшую часть умов составляют умы надкритические. Идея, ставшая достоянием такого ума, может породить целую «теорию», состоящую из вторичных, третичных и еще более отдаленных идей.» (Алан Тьюринг «Могут ли машины мыслить?», VII. Обучающиеся машины)
После прочтения этих строк я был ошеломлен: Алан Тьюринг, используя изящную метафору, описывал эффект, который я многократно наблюдал за собой при работе — всплеск активности сознания и рождение / возникновение идей (как мне казалось, без моих усилий).
От занимательного эффекта к серьезному изучению

Скажу откровенно, в моменты осознания скорее я думал о чем угодно, но только не о работе.


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

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

3. Восстановление образа
Для того, чтобы противодействовать деградации детализации, ядро нашего сознания обращается к сверхоперативной памяти с целью восстановить в кратчайшие сроки утраченную информацию. Это своеобразный «кеш» или «регистры» нашего сознания и объем этого информационного банка крайне ограничен!
4. Ограничение объемов «кеш-памяти»
Размер области сверхоперативной памяти сильно ограничен. Чтобы проверить ограничения собственного «кеша» можно провести простой эксперимент:

4.1. Простые следствия ограничения
Чем меньше объектов, тем проще восприятие (ниже порог вхождения).
На мой взгляд, религия разрабатывалась именно с целью уменьшения количества основных объектов (триединство и т.д.), чтобы сделать идею доступной 100% населения.
Семь нот, семь основных цветов в видимом спектре (наверняка, помните из детства: «Каждый охотник желает знать...»), не более 6-7 элементов в меню для лучшего восприятия и т.д.
Позволю себе предположить, что значение около 7 — среднестатистический порог объема сверхоперативной памяти, при котором сознание может эффективно оперировать образами, не производя смену контекста и не задействуя механизм абстрагирования, когда большее количество фактических элементов представляется на функциональном уровне сознания меньшим количеством интерпретируемых объектов.
5. Переход к абстракциям

На нашей планете порядка 7 000 000 000 отдельных личностей, но мы воспринимаем их как «человечество».
В любой воображаемой вами схеме предельное количество абстрактных сущностей будет стремится к пределу объема сверхоперативной памяти.
Это означает, что существует физический предел сложности проектирования систем, имеющий в основе ограничение на уровне сознания разработчика.
Мы не в состоянии вообразить себе больше, чем умещается в области сверхоперативной памяти. В противном случае сложный образ будет рассыпаться в нашем воображении, подобно сну, так как латентность доступа к уровню обычной памяти гораздо больше времени деградации детализации образа. Сознание не будет успевать восстанавливать разрушающийся образ — мы будем путаться и терять связи в той сложной модели, которую пытаемся представить.
6. Временное увеличение «кеш-памяти»
Сознание может пребывать в состоянии временного увеличения объема сверхоперативной памяти. Это и есть причина всплесков производительности. В некоторое временно́е окно ядро сознания начинает работать в каком-то ином режиме (состояние транса, вдохновение, муза — называйте кому как угодно, лично я предпочитаю термин «дзен»), в котором оно способно захватить и оперировать значительно более сложными образами, чем в стандартном режиме. В эти моменты мы можем наблюдать то, что принципиально не видим в нормальном состоянии. Идеи более яркие, впечатляющие, значительно более масштабные и детализированные, решения мгновенны, картина четкая и ясная. Это своего рода форсаж, временное увеличение адресации памяти нашим «цпу», позволяющее «запустить более объемное ПО».
Логическое мышление является механизмом входа в состояние транса. Когда мы многократно обдумываем пути решения, повторяя цепочки причинно-следственных связей в нашем воображении, то мы невольно являемся инициаторами своего рода полиморфизма в механизме ядра и сферхоперативной памяти. Для нашего «Я» такая подмена заметна лишь по косвенным признакам (например, замечая, что работа идет на ура).
Наверняка где-нибудь видели (например, в документальных фильмах), как шаманы произносят повторяющиеся фразы нараспев погружаясь в транс… Наверняка встречали информацию по погружению в гипнотическое состояние… А не тоже самое ли мы делаем, когда в состоянии концентрации раздумываем над алгоритмом, постоянно прокручивая аналогичные логические цепочки в воображении, а затем часто, сменив контекст (вид деятельности) мы в изумлении начинаем «видеть»?
Не зря фраза звучит именно так: «У меня возникла / появилась (мгновенно) идея!», вместо «я долго работал и собрал идею из мыслей».
7. Уровни хранения интерпретируемой информации
Общая схема уровней работы сознания по увеличению латентности доступа:
— Ядро («Я вообразил!»)
— Сверхоперативная память («Я представляю и вижу образ неизменным»)
— Обычная память («Секунду, сейчас вспомню… Да, точно, вспомнил!»)
— Внешняя память («Подождите, не так быстро. Я запишу.»)
Невозможно не увидеть явной аналогии со схемой строения компьютера в контексте доступа к данным.
8. Связи тоже объекты
Связи тоже являются сущностями. Дело в том, что не только количество объектов занимают объем сверхоперативной памяти, но и связи между объектами, так как с точки зрения хранения сущностей связь тоже является самостоятельным объектом.

9. Переосмысление старых принципов
Таким образом, проектируя любую систему, я не просто понял, но глубоко осознал с точки зрения механизма работы воображения (на основе эмпирических данных) принцип того, что увеличение количества связей между элементами системы на одном уровне значительно увеличивает ее сложность, как следствие, снижая эффективность разработки и качество конечного продукта, вынуждая переходить на все более высокие уровни абстракции. Но совокупность уровней абстракции сама по себе является некоторым количеством объектов и взаимосвязей между ними, и на них также распространяется правило ограничений, что в целом ограничивает сложность разрабатываемой системы. (стоит заметить, что как такового предела нет, дело лишь в том, что каждое новое усложнение архитектуры будет очень значительно увеличивать время реализации нововведения, вплоть до того, что время будет несоизмеримо с затратами иных ресурсов или разумными пределами).
На мой взгляд, наиболее сложной с точки зрения выявления ошибкой при разработке является ошибка проектирования и инкапсуляции логики в абстрактные уровни, так как она неочевидна до того момента, пока система не перестает быть понятной, вынуждая делать глубокий рефакторинг кода, выливающийся в колоссальные временные затраты. Сложность в том, что мы не знаем, когда это случиться, но если это случается, то ситуация усугубляется делегированием разработки… в целом никто не может быть уверен в том, как работает система, в свою очередь это приводит к необходимости глубокой трассировки (не уверен что этот термин применим, извиняюсь, имею в виду анализ работы и многих сотен / тысяч взаимозависимостей между компонентами системы).

P.S.
Из всего вышесказанного следует целая россыпь логических цепочек и рассуждений, связанных с ними выводами, а также фундаментально важные представления.
Пускай, эта небольшая заметка будет подобна нейтрону, влетевшему в реактор вашего сознания.
Дело в нас самих. Весь мир вокруг нас — проявление нашей деятельности… в рамках фундаментальных ограничений на уровне сознания. И если у нас есть возможность, если есть механизмы, расширяющие область «видимости», если у нас есть возможность мыслить, анализировать, интерпретировать и классифицировать бесконечные потоки новой информации, выстраивая собственные индивидуальные алгоритмы мышления — глупо не использовать этот мощнейший потенциал.
И напоследок: весь смысл в том, что мы можем искать смысл ;)