Интеллект-стек определяется в курсах ШСМ как набор поддерживающих друг друга мыслительных практик, или трансдисциплин[1]. Мыслительные практики отличаются выделяемыми объектами внимания.
В этом посте я опишу свое текущее понимание принципов устройства и функций интеллект-стека. Я рассмотрю его на фоне двух знакомых мне понятий “стек технологий” и “стек как структура данных”.
Интеллект-стек и стек технологий
Стек технологий — это набор инструментов (языков программирования, фреймворков, систем управления базами данных и т.д.), применяющихся в ИТ-проектах. Говорят о стеках технологий классов приложений[2] и об отраслевых стеках технологий[3]. Распространен гибрид первого словоупотребления с называнием технологий, реализующих стек в конкретных проектах.
В основе стека технологий – взаимодействие функционально специализированных компонентов. Так, в стеке веб-приложений при помощи фронтенда пользователь взаимодействует с приложением, бэкенд отвечает за выполнение функций приложения, задействуя базу данных для хранения информации. Каждая из функций реализуется конкретными языками, технологиями и фреймворками (например, фронтенд – HTML, CSS, JavaScript; Angular, Vue.js, React).
За работу веб-приложения отвечают компоненты как целое. Стек технологий возникает как абстракция многочисленных приложений. Эта абстракция дает структуру для их описания (и впоследствии создания в соответствии с лучшими практиками). Изолируя компоненты стека, становится возможным говорить об альтернативных технологиях для их реализации, сравнивать и оценивать технологии[4]. Стек технологий со временем меняется в даже в одном классе приложений[5].
Трансдисциплины интеллект-стека как целое отвечают за работу мышления. Каждая из дисциплин рассматривает изолированный (функционально специализированный) аспект мыслительного мастерства. Представление об этом аспекте дают понятия трансдисциплины и располагаемый ею набор теорий. Знакомясь с новыми теориями и расширяя набор понятий, практик соответствующего мыслительного мастерства усиливает свой интеллект. Похожесть устройства стека технологий и интеллект-стека показана на Рисунке 2.
Как и стек технологий, интеллект-стек меняется во времени[6].
Интеллект-стек и стек как структура данных
Второе понятие, на фоне которого я рассматриваю интеллект-стек, – стек как способ представления данных в виде списка элементов, организованных по принципу LIFO (англ. last in — first out, “последним пришёл — первым вышел”)[7].
Со стеком как структурой данных интеллект-стек сближает идея опоры последующих уровней на предшествующие. Каждая новая прикладная практика помещается на вершину стека. Совершенствование в этой практике напрямую связано с владением набором трансдисциплин. Человек в жизни чаще меняет прикладные практики, а не каркас трансдисциплин (last in — first out). Предположу, что среди трансдисциплин находящиеся на верних уровнях стека более подвержены изменениям.
Описания дисциплин интеллект-стека в курсе “Системное мышление” напомнили мне английское стихотворение “This Is the House That Jack Built” (в переводе С. Маршака “Дом, который построил Джек”)[8]. Построение стека следует кумулятивному принципу: каждый уровень опирается на предыдущие и включают в себя понятия и практики предшествующих уровней.
Точечное совершенствование одной трансдисциплины потенциально влияет на всю предшествующую линию стека. Так, введение нового способа рассуждения в алгоритмике, может привести к выделению новых понятий, ревизии применимости старых теорий для выделения объектов и операций с ними. В свете изменений какого-либо уровня, пересмотру подвергаются и верхние уровни стека.
Зачем нужен интеллект-стек
Аналогии с понятиями “стек технологий” и “стек как структура данных” позволили мне увидеть 2 особенности интеллект-стека: во-первых, функциональную специализацию его компонентов, и организацию уровней по принципу вложенности, во-вторых.
Из этих особенностей выводятся возможные функции интеллект-стека как каркаса для операций мышления. Интеллект-стек позволяет:
- структурировать процесс мышления как набор мыслительных практик с разными объектами внимания;
- последовательно осваивать эти практики сильного мышления и применять их к конкретным прикладным практикам;
- для улучшения качества решений выбирать совершенствование в трансдисциплинах нужного уровня, учитывать их взаимодействия;
- в рамках отдельных трансдисциплин оперировать набором теорий и мыслительных практик, расширять их в контексте новых задач,
- пересматривать актуальность знаний разных уровней стека, а иногда и границы уровней.
Источники
[1] См. курсы “Системное мышление 2022 – Место системного мышления среди других мышлений: интеллект-стек”; “Образование для образованных 2021 - Обучитесь мыслительному мастерству”.
[2] Например, в веб-разработке или IoT: Ali, Omer, et al. "A Comprehensive Review of Internet of Things: Technology Stack, Middlewares, and Fog/Edge Computing Interface." Sensors 22.3 (2022): 995.
[3] Например, маркетинговый стек технологий: Earley, Seth. "Using the customer journey to optimise the marketing technology stack." Applied Marketing Analytics 6.3 (2021): 190-210; The Best Customer Success Software to Power Your Company in 2022. Здесь стек понимается как набор ПО, позволяющего привлечь пользователя на каждом этапе его взаимодействия с продуктом.
[4] Интересная попытка создать систему, предлагающую стек технологий в зависимости от задач, требований и ограничений разработчика: Ramzan, Mohamed. Web Application Technology Stack Recommender. Diss. 2019.
[5] См. сравнение стека веб-разработки 2005 и 2016 гг.: Spolsky, Joel. Pitfall: Leaky Abstractions.
[6] Подробно об этом в курсе “Образование для образованных 2021 - Интеллект-стек в 21 веке обновился, нужно переучиваться!”; см. также пост А. Левенчука "Интеллект-стек 2021, версия на 17 августа 2021".
[7] Стек. Wikipedia. Wikipedia Foundation, Inc. Web. 28 March 2022.
[8] Организация дисциплин стека в виде пирамиды на Рисунке 1 отражает тот же кумулятивный принцип: идею последовательного включения дисциплины уровнем ниже в дисциплины более высокого уровня.