Можно было бы слово «айтишник» заменить словом «компьютерщик» – кому-то это было бы ещё понятней, но кто-то стал бы возмущаться.
С учётом всего этого мы могли бы написать программист/айтишник/компьютерщик – чтобы никому не было обидно и было бы понятней, какое значение всех этих терминов мы имеем в виду.
Бывает и так, что определённый термин, значение которого очень легко понять неправильно, уже закрепился в языке узкой профессиональной группы. Например, таков перевод «управление» для термина governance. В таких случаях в данном курсе будет использоваться наш собственный вариант, который ведёт к меньшему числу ошибок понимания. Например, governance будет переводиться как «подконтрольность» или «поднадзорность», и никакие словари и стандарты тут не указ.
Если какой-то «процессный стандарт» (например, системноинженерный ISO 15288) под словом process имеет в виду концепт, в различных других местах обозначаемый как практика/practice (характерной для процессов развёртки во времени в этом «процессе» из ISO 15288 нет, там перечисляются именно «практики жизненного цикла»), то в нашей книге это будет «практика», а не «процесс».
Если вы попали в сообщество людей, исповедующих «процессный подхода» и говорящий на диалекте, используемом в этом сообществе, смело используйте слово «процесс» вместо слова «практика» – но знайте, что при этом вы теряете информацию по различению процессов (с пошаговой развёрткой во времени) и практик (без такой развёртки), и речь ваша будет время от времени вызывать недоумение.
Очень часто за одним и тем же термином даже в одном речевом сообществе оказывается закреплено множество разных значений, поэтому уточнить значение даже очень распространённого термина никогда не бывает лишним.
Например, Andries van Renssen выделил31 следующие часто используемые сообществом айтишников значения для термина «функция» (function):
• подтип активности (поведения), процесса или события;
• некая сущность, находящаяся в определённой роли или сделанная для определённой роли;
• сама роль сущности (обычно это роль физической вещи), участвующей в активности (поведении) [Играемая роль и сущность, играющая роль – это разное! Роль – Гамлет, сущность – Высоцкий];
• указание на корреляцию/зависимость, обычно как на физическую связь между какими-то аспектами: «если высота растёт, то давление падает»;
• математическое отношение между числовыми объектами, определяющее их отображение друг на друга/mapping.
Это означает, что часто вместо слова «функция» можно использовать слово «действие», или «роль», или «зависимость» – и разговор от этого станет точнее!
Часто встречающий термин «мета» (meta) используется в шести разных значениях, выражая шесть разных типов отношений32:
• экземпляризация (отношение типа и экземпляра);
• группирование (отношение типа и подтипа), оно же категоризация (философская, а не из теории категорий, термин «категория» любим самыми разными речевыми сообществами, и обозначает в них разное!);
• описание (отношение описания и описываемого объекта);
• применение/стереотип (отношение шаблона и его воплощения);
• варьирование (отношение основной модели и кастомизированной);
• реализация (отношение абстрактного синтаксиса и соответствующего ему выражения).
Поэтому каждый раз, встречая слово «мета» нужно разбираться, что именно из этих шести значений имелось в виду.
Никогда не зацикливайтесь на выбранных другими конкретных словах-терминах, слова как цепочки букв никогда не выражают истину. Каждый раз пытайтесь понять, о чем в действительности идёт речь, какое значение слова имелось в виду в каждом конкретном случае, добирайтесь до концепта. Использование терминов из стандартов не гарантирует однозначного понимания собеседником, но и использование многозначных слов не обязательно ведёт к сложностям.
В этой книге не будет попыток дать точные определения и выбрать правильные термины. Мы постараемся передать понимание наиболее важных понятий и предложить разные слова, которыми их можно обозначать. На вопрос «сколько будет дважды два?» будут приниматься ответы и IV, и 4, и «четыре», и four. Но не нужно обольщаться: ответы «горшок», 5, «per aspera ad astra» – приниматься не будут.
Формальность системного мышления
Знание в отличие от «просто фактов» – это то, что можно использовать в разных ситуациях, что можно взять с собой из проекта в проект. Факты же могут характеризовать конкретные проекты и объекты в них. Знание о метрах как единицах измерения общее для всех проектов. Длина пути в каком-то проекте 14 метров – это нельзя применить к другим проектам, так что это не «знание», это просто «факт».
Логика (правила рассуждений, ведущие к правдоподобным суждениям из правдоподобных посылок) науки и инженерии совсем необязательно булева, она имеет вероятностную компоненту (опираясь при этом на байесово понимание вероятности, а не частотное!), и поэтому может использовать и эвристические («неформальные формализмы», неточные правила) рассуждения33.
Обязательно ли формально (выражено в символической форме, доступной для строгого логического вывода) системное мышление, или оно неформально, т.е. образно и интуитивно?
Главное, что нужно тут обсудить – это наличие и важность полностью неформального, интуитивного и невыразимого словами и иными знаками знания, в том числе знания о системах. Тем более что сегодня такое знание могут иметь не только люди, но и компьютеры, запрограммированные для работы в рамках коннекционистской парадигмы. Современные достижения искусственного интеллекта связаны с развитием именно «компьютерной чуйки» (а не развития логических языков программирования) в рамках машинного обучения в целом и направления глубокого обучения (deep learning) в частности.
В коннекционистской (connectionism) парадигме34 знание представляется существующим не как набор связанных какими-то отношениями понятий, а как распределённое по множеству определённых простых однородных элементов (часто нейронов в нейронных сетях как искусственных, так и естественных).
Человеческий мозг для мышления использует нейронную сеть, а не логический вычислитель, действующий по законам аристотелевой логики. Современные системы машинного обучения тоже начинают использовать для своей работы похожие принципы, и к ним применяются отнюдь не традиционные наработки для знаний, понимаемых как формальные модели. Объединение методов формальной, «научной» работы со знаниями и методов «неформальной» интуитивной работы в нейронных сетях (искусственных или естественных, в мозгу человека – это тут неважно) представляет собой научный и технический фронтир, мы не будем касаться этих вопросов в нашей книге. Подробности на тему использования в мышлении формальных и неформальных рассуждений можно найти в книге «Визуальное мышление. Доклад о том, почему им нельзя обольщаться»35.
Мы в нашей книге исходим из того, что мышление «бибинарно»36 (би – это умножающая приставка от латинского bis, «дважды»), т.е. дважды двойное:
1. По шаблонам – нешаблонное
1.1. «Культурное» мышление, следующее лучшим цивилизационным образцам, шаблонам (patterns), использующее накопленное человечеством знание и одновременно
1.2. нетронутое какой-либо культурой, шаблонами «дикое» мышление, которое приходит новыми путями к выводам, потенциально каких цивилизация ещё не знала, паттерны чего ещё не различала.