«Натягивая сову лингвистики на глобус архитектуры ПО: Что я нашел на стыке»

от автора

Давно думаю над моделью, в которой есть всего две формулы:

State = Static + Dynamic

и

State = Fact + Delay.

Казалось бы – пора звонить в Спортлото, не стыковались они у меня, хотя по отдельности каждая формула вроде работает. Но заявить, что на все вопросы я готов ответить по этим формулам – такого ощущения не было.

И вот… Сидел я как-то над пиццей, подумал, что прикольно раскидали начинки. «Четыре вкуса» и всё такое. И как бы мысленно (а потом и физически) ее ни резал – всё равно что-то влезет на соседний кусок. Итогом стало это…

Пора вызывать санитаров.

Пора вызывать санитаров.

Замечание: Как-то меня поправили, что «Объективности» не существует. Теперь я склонен согласиться с тем, что «Объективность» – это «Интерсубъективный Консенсус». Для тех, кто любит копать – это процесс, состоящий из стадий:

Интерсубъективный контекст = Диалог + Эксперимент + Критика

Но статья не про теорию множеств, парадоксы, функции. Тут у меня еще не всё готово… Предлагая свою модель, я хочу взять область, достаточно далекую от меня по образованию, и постараться найти «зерна» недостижимой по определению «сути». Короче – поищем что-то новое и, может быть, найдем.

Предлагаю посмотреть на модель с позиции филологии/лингвистики. Может, так будет яснее… Хотя расхождения есть – о них подробнее расскажу в конце.

Погнали натягивать сову на глобус!

Давайте представим:

  1. Факты = Имена существительные.
    (Описания возьмем из Википедии)
    Существительное – самостоятельная часть речи, обозначающая предмет, лицо или явление и отвечающая на вопросы «кто?» или «что?».

  2. События = Имена прилагательные. (Прилагательное – как отношение к существительному или глаголу?)
    Имя прилагательное – самостоятельная часть речи, обозначающая непроцессуальный признак предмета и отвечающая на вопросы «какой?», «какая?», «какое?», «какие?», «чей?» и так далее.

  3. Архитектура = Наречия.
    Наречие (калька с лат. adverbium) – неизменяемая самостоятельная часть речи, обозначающая признак действия, качества, другого признака или предмета. Слова этого класса отвечают на вопросы «где?», «когда?», «куда?», «откуда?», «почему?», «зачем?», «как?» и чаще всего относятся к глаголам, обозначая признак действия.
    Специально выделил «Почему, Зачем» и отнесение к глаголам. О причине расхождения позже.

  4. Смыслы = Глаголы.
    Глагол – самостоятельная часть речи, которая обозначает состояние или действие предмета и отвечает на вопросы что делать? что сделать?

Замечание: И тут 4 поля сущностей. Подумаем о следующем. Я предположил, что зоны, как и в модели (рисунок), пересекаются. Давайте найдем пересечения.

И находим «Причастие» (воспользуюсь другим источником – в Википедии не так наглядно описано; искал в Гугле):

«В грамматике: форма глагола, слово, имеющее наряду с признаками глагола (время, залог, вид) признаки прилагательного (изменение по родам, склонение)».

Гипотеза: Смотрим на модель – это область пересечения Смыслов (глагол) и Событий (прилагательное).

Рассмотрим Деепричастие:

В грамматике: неизменяемая глагольная форма, примыкающая в предложении к глаголу, отглагольное наречие.

Гипотеза: Т.е. еще одно пересечение –Смыслов (глагол) и Архитектуры (наречие).

И еще нужно сказать о Герундии.

Отглагольная часть речи (наряду с причастием и деепричастием), выражающая действие как предмет. Отвечает на вопрос «осуществление чего?» Сочетает в себе признаки существительного (в частности, синтаксическая роль в предложении) и глагола.

Гипотеза: Функция, описанная в исходнике программного продукта – это похоже на Герундий. Сочетает в себе признаки существительного и глагола. Т.е. диагональное движение от Смысла (глагол) к Факту (существительное) может происходить!

Давайте поищем дальше. (Ибо филология/лингвистика – гуманитарные науки – придумали кучу всякой…)

Есть ли промежуточная часть речи между существительным и прилагательным?
И… Прямого аналога причастию (глагол + прилагательное) для (существительное + прилагательное) нет. Нет специальной морфологической формы, которая бы одновременно и регулярно выражала признаки существительного и прилагательного так же явно, как причастие выражает признаки глагола и прилагательного.

Однако есть важное явление: субстантивация. Это переход прилагательных (и причастий) в разряд существительных.
Примеры: столовая, заведующий, мороженое, рабочий (человек), военный (человек), будущее (время), прохожий.

Почему это «промежуточное» состояние?
Изначально: Слово было прилагательным/причастием, изменялось по родам, числам и падежам, согласовывалось с существительным (столовая комната, заведующий отделом).
После субстантивации: Оно стало функционировать как существительное – приобрело способность быть подлежащим, дополнением, изменяться по падежам как существительное (столовая, заведующего, мороженое).

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

Разберем еще один «прием».

Есть ли промежуточная часть речи между существительным и наречием?
Прямого аналога деепричастию (глагол + наречие) здесь (в русском) тоже нет. Нет специальной морфологической формы, сочетающей признаки существительного и наречия.

Однако есть явление: адвербиализация. Это переход других частей речи (чаще всего падежных форм существительных с предлогами или без) в разряд наречий.
Примеры: шагом (идти шагом -> идти шагом = медленно), вечером (прийти вечером), сначала, дома, весной, кусочками (резать кусочками), молча.

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

Вывод: Адвербиализация – это процесс перехода падежной формы существительного в наречие. Адвербиализованное слово функционирует как наречие: оно неизменяемо и является обстоятельством. Но его морфологическая форма (падежное окончание) прямо указывает на его существительное происхождение. Это не отдельная часть речи, а наречие, образованное «застывшей» падежной формой существительного.

Попробуем проанализировать филологические/лингвистические посылки.
Что имеем? Имеем Глаголы (Смыслы) – проникающие почти в каждую область. Поведение похоже на Смыслы, присутствующие в системе практически «повсеместно» – хотя на рисунке – может, и не так это бросается в глаза.
А работа с субстантивацией и адвербиализацией напоминает поведение класса в программировании – только вот в русском языке направление инверсное: из прилагательных в существительные и из них в наречия.

Гипотеза: В контексте русского языка «трудно» (неформализованно) из Наречия {Класса? Архитектуры?} получить существительное – и это, видимо, одна из причин, почему архитектура баз данных и проектирование ООП у русскоговорящих программистов без примеров из жизни (наличия существительных {Фактов}) хромает на все четыре лапы. Никого не хотел обидеть, так что прошу меня заранее простить – ибо это субъективная гипотеза. Наблюдатель – он такой – субъективный.

Но. Хочу сказать, что в английском языке это вполне нормально. Поэтому:
Замечание: Разрабатывая архитектуру – лучше всего думать на английском (или в контексте и семантике языка разработки).
Конверсия (переход одной части речи в другую без изменения формы) очень распространена. Там наречие вполне может стать существительным:

  • why(почему- наречие) ->the whys and wherefores(причины, основания — существительное).

  • inside(внутри — наречие/предлог) ->the inside(внутренняя часть — существительное).

  • then(тогда — наречие) ->by then(к тому времени — существительное в функции объекта предлога).

В русском языке такой «легкой» конверсии между наречием и существительным нет.

Гипотеза: … И возможно поэтому, основная масса хороших архитекторов, разрабатывающих «общие (большие)» системы – англоговорящие («думающие» в семантике языка).

А вот создать Прилагательное (событие) из существительного (факта) в русском языке – «как два пальца»… Есть аж два (пальца) способа:

  1. Суффиксный способ: К основе существительного добавляется специальный суффикс, который превращает его в прилагательное. Выбор суффикса зависит от значения и от того, какое именно прилагательное нужно образовать (качественное, относительное, притяжательное).

    • а) Образование относительных прилагательных (обозначают признак через отношение к предмету):лес->лесной,город->городской.

    • б) Образование притяжательных прилагательных(обозначают принадлежность лицу или животному):лиса->лисий.

    • в) Образование качественных прилагательных (обозначают непосредственно признак, могут иметь степени сравнения):зверь->зверский, золото->золотой(в значении «очень хороший»).

  2. Бессуффиксный способ (Конверсия — переход без изменения формы) — редко используется: Некоторые существительные, особенно неизменяемые заимствования или аббревиатуры, могут употребляться как прилагательные,непосредственно определяя другое существительное. В этом случае они не приобретают окончаний прилагательных, а просто ставятся перед существительным. Пример «субъективный»: стиль барокко-> мебель барокко

Почему я это решил сюда добавить… Дело в том, что события (эмоции?) – это субъективная часть контекста, в котором находятся наши отношения к фактам (существительным). И русский язык легко превращает факты в события (эмоции).

Для примера – в английском Конверсия – это Основной способ создать событие (прилагательное из существительного).
Гипотеза: Они «слабо» отличают факты от событий, а суффиксация слабая.

  • Конверсия: Это главное отличие и основное преимущество английского. В русском конверсия существительных в прилагательные крайне ограничена (в основном неизменяемые заимствования вроде «цвет хаки» -> «костюм хаки«), а в английском – это основной метод (stone->stone wall).

  • Суффиксация: Ванглийском она тоже есть, но менее системна и продуктивна, чем в русском. Нельзя так же легко и предсказуемо добавить суффикс к любому существительному, как в русском (лес -> лесной, город -> городской). Выбор суффикса в английском часто исторически обусловлен и менее регулярен. Многие суффиксальные прилагательные заимствованы из латыни или греческого (industrial, historical, poisonous).

  • Синтаксическая роль: Прилагательные, образованные конверсией, работают только атрибутивно (перед существительным: a stone wall). Суффиксальные прилагательные могут работать и атрибутивно (a beautiful flower), и предикативно (The flower is beautiful).

Гипотеза:

  • Русскоговорящие программисты «лучше» используют индукционные построения (реверсная инженерия и функциональное (фактовое) — «узкозаточенное» решение, «ну работает же!»). В русском контексте факты обрабатываются через событийный обработчик (один или несколько), которые рассчитаны на прием без «шаблонов» с «гибким» протоколом – «а мы потом разберем…». «Один обработчик на всё…».

  • Англоговорящие «лучше» используют дедукционные построения (Классы->конструктор -> объект, ООП). Событийное программирование в английском языке «слабое». Используется прием – шаблон на каждый факт. «Много обработчиков под каждый факт – и максимальная независимость (изоляция) обработчиков». (Исключительно мои практические наблюдения – не занимался экспериментами и сбором статистики).

(Можно пропустить)
Кстати: нечто похожее я видел тут https://doi.org/10.1006/cogp.2001.0748
В
исследовании когнитивной лингвистики (Boroditsky, 2001) исследовалось влияние языка на формирование мыслительных образов времени у носителей английского и китайского (мандаринского диалекта) языков. Основные выводы следующие:
1. Пространственная метафора времени: Носители китайского языка склонны представлять течение времени вертикально (снизу вверх), тогда как носители английского языка используют горизонтальную ориентацию (слева направо).
2. Концептуальное моделирование: Экспериментально доказано, что пространственные образы времени влияют на способность воспринимать и оценивать длительность временных интервалов.
3. Языковые шаблоны и познавательная деятельность: Исследование подтверждает гипотезу, согласно которой языки оказывают значительное воздействие на когнитивные процессы, включая обработку информации о времени.
(/Можно пропустить)

Перейдем к еще одной штуке – о которой я говорил в самом начале:
Повторю: «Наре́чие (ка́лькой с лат. adverbium) – неизменяемая самостоятельная часть речи, обозначающая признак действия, качества, другого признака или предмета. Слова этого класса отвечают на вопросы «где?», «когда?», «куда?», «откуда?», «почему?», «зачем?», «как?» и чаще всего относятся к глаголам и обозначают признак действия.»
Для архитектуры – «где?», «когда?», «куда?», «откуда?», «как?» – естественны. Но вот в определении присутствуют смысловые вопросы «почему?», «зачем?». А я их отнес к Смыслам.

С другой стороны:
Глаго́л – самостоятельная часть речи, которая обозначает состояние или действие предмета и отвечает на вопросы «что делать?» «что сделать?» А для меня – это более конкретная «существизация» Смысла.

В чем засада?
«Засада» заключается в несовершенстве традиционной лингвистической классификации с точки зрения философии языка и когнитивной науки. Вопросы «почему?» и «зачем?» объективно относятся к более глубокому уровню – уровню причинности, целеполагания, смысла, который первичен по отношению к самому действию (глаголу). Отнесение их к наречиям – это попытка «втиснуть» объяснение смысла действия в категорию, предназначенную в основном для описания его внешних или качественных параметров.
Причина и Цель – это «Смыслы», которые лишь выражаются через обстоятельства (часто с помощью наречий или более сложных конструкций), но не сводятся к ним. Глагол же («что делать?», «что сделать?») – это действительно «существизация», именование того конкретного действия, в котором этот Смысл находит свое воплощение.
Так что – лингвисты малость облажались. С другой стороны, и выбора у них не было.

Но… Как с этим быть?
Гипотеза: Нужно признать (или просто учесть – я не настаиваю) условность классификации (в контексте филологии): Понимать, что отнесение «почему?» и «зачем?» к наречиям – это лингвистическая условность, основанная на синтаксисе, а НЕ на глубинной семантике. Внутри класса наречий есть четкое разделение на группы по значению (места, времени, образа действия, причины, цели).

  • Выделять «Обстоятельства Причины и Цели«: В синтаксическом анализе предложения именно так и поступают – выделяют отдельные виды обстоятельств, даже если они выражены наречиями (потому,затем) или целыми конструкциями (из-за болезни, ради победы).

  • С философской и когнитивной точек зрения, разделение на «Архитектуру» (объективные условия) и «Смыслы» (причины, цели, мотивы) нам в определенной степени «развязывает руки». Это отражает реальную разницу в природе этих аспектов действия. Глагол действительно выступает как «точка воплощения» Смысла в конкретное действие.

  • Замечание: Вопросы «почему?» и «зачем?» часто требуют для ответа не одного наречия,а целых конструкций (неформализованность?), предложений, включающих глаголы (потому что «я хотел»...,для того чтобы «достичь»...).Это подтверждает их связь с более глубоким уровнем смыслопорождения,который не умещается в рамки одной неизменяемой части речи.

Для сравнения – в английском языке эта «засада» еще более очевидна из-за:

  1. Явной неспособности существительных/прилагательных напрямую через конверсию выражать причину/цель (в отличие от времени/места).

  2. Сильной зависимости от сложных конструкций (because...to...) и союзов для выражения why?и what for?.

  3. Семантической сложности тех немногих «чистых» наречий причины/цели (therefore,consequently,intentionally), которые явно несут смысл логического следствия или намерения.

  4. Четкого выделения Adverbial of Reason/Purpose как отдельной семантико-синтаксической категории внутри обстоятельств.
    Там долго писать, если коротко – то в английском четко закреплены «подкатегории обстоятельств» – такие как (Время, место, образ действия, причины, цели). И связываются они не наречиями, а союзами. (Логичная логика, однако).

Эпилог: Короче и по делу.
Разбор языка через филологию – надеюсь – показал, что я не просто «умничаю». Он «субъективно» показал, как язык реально влияет на то, как мы проектируем системы. Вот главные выводы для практики:

  1. Следи за языком: На чём ты думаешь проект? Русский сам по себе тянет к одним подходам (гибкость, обработка «всё в кучу»), английский – к другим (структура, куча мелких классов). Если задача абстрактная – попробуй «переключить мозг» на английский, это может помочь.

  2. Смотри на превращения: Не зацикливайся только на «чистых» вещах (факты, события и т.д.). Важнее понять:

    • Где»событие» (эмоция/отношение) застыло в «факт» (как «мороженое» из прилагательного стало существительным)? (Субстантивация)

    • Где»факт» диктует, как что-то работает (как «вечером» из существительного стало указанием времени)? (Адвербиализация)

    • Где»смысл«(действие) стал объектом манипуляций (как герундий «плавание» в английском)? (Герундий)
      Это и есть зоны пересечений в модели, где всё самое интересное.

  3. Копай «Почему?» глубже: Не верь поверхностным ответам. Архитектура скажет «сервер упал» или «для прибыли». Но настоящие причины и цели – глубже. Спрашивай «Почему именно?» и «Зачем на самом деле?«пока не докопаешься до сути. Это уровень Смыслов, а не просто условий.

  4. Помни: схемы – не истина в последней инстанции: Любая модель (как в шапке с «зонами») или диаграмма – просто костыль, чтобы не запутаться. Не давай им себя сковывать. Иногда нужна русская гибкость («и так сойдет, лишь бы работало!»), иногда – английская структура («на каждый чих свой класс»). Выбирай по ситуации.

Итог по-простому:

  • Язык – это наш главный инструмент, и он («редиска») незаметно рулит нашим мышлением.

  • Поняв, как он устроен (особенно грамматические фокусы и культурные приколы), мы можем:

    • Лучше проектировать: Видеть скрытые связи и точки роста.

    • Лучше понимать: Где и почему мы мыслим по-разному (как пример: русские vs англоговорящие).

    • Не застревать в шаблонах: Использовать и гибкость, и строгость там, где надо.

Так что держи в голове эти фишки, когда будешь кодить или проектировать следующую фичу. Они реально помогают видеть глубже.


ссылка на оригинал статьи https://habr.com/ru/articles/921476/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *