Замусоривание Великого и Могучего обломками бритвы Оккама (апология иноязычных неологизмов)
Trashing of The Great and Might by The Scrap of The Okkam`s Razor (An Apology of The Foreign-language Neologisms)

В статье рассматриваются вопросы допустимости и необходимости использования иноязычных неологизмов при формулировании новых концепций в специальных проблемных областях. Также в статье затрагиваются общие проблемы человеко-компьютерного взаимодействия и возникновения знаний и языков на заре развития человечества.

Люди общаются на своих языках, а компьютеры — на своих.  Людям проще. Точнее, людям кажется, что им проще. Потому, что в общении люди постоянно используют своё преимущество перед компьютерами — наличие здравого смысла. Я бы назвал это явление «семантика «по умолчанию»". Истоки свои здравый смысл ведёт оттуда же, откуда и сами человеческие языки – из познания Промысла Божьего, АКА Устройства Мироздания. Из множества объектов и явлений люди в своём тогда ещё девственно-чистом сознании выделяли понятия, объединяющие схожие по характерным признакам подмножества и наделяли их названиями. Об этом  основополагающем и для лингвогенеза, и для ноогенеза процессе я и собирался писать эту статью. Но пока позволю себе ещё ряд отступлений. Отнесение того или иного объекта к тому или иному понятию каждый  человек производил на основе своего личного жизненного опыта. И, поскольку род, племя, нация обладают в определённом смысле схожим жизненным опытом (культурно-историческим контекстом), то и идентификация понятий людьми одной общности (общины) происходит примерно одинаково. Но именно примерно. Очень трудно в зоопарке доказать маленькой дочке (или теперь уж внучке), что страус — птица. Ведь он же не летает! А в жизненном опыте малышки способность к полёту – определяющая характеристика понятия «птица».  Очень интересные эффекты дают подмножества естественных языков (диалекты, жаргоны), используемые специфическими сообществами. Не буду тут ботать по фене, приведу пример из жаргона моих коллег. «Мамка сдохла, надо быть мозги выковырять» — для компьютерщиков звучит печально (вышла из строя главная плата, надо бы оперативную память демонтировать), а вот для остальных…

«Мысль изречённая есть ложь».

Эта интригующая формулировка как раз и относится к различию понимания говорящего и слушающего относительно различий их жизненных опытов. Но если и культурно-исторический, и даже повседневно-бытовой контекст — схожи до идентичности (у супругов, например),  то проблем с разрешением полисемии не возникает, и люди способны понимать  друг друга буквально с полуслова. А вот компьютеры друг друга с полубайта понимать не могут. Именно из-за отсутствия не то что культурно-исторического, а какого бы то ни было контекста мировосприятия вообще. Из этого различия и проистекают все проблемы человеко-компьютерного взаимодействия. С компьютерами общаются две категории людей — специалисты (разрабы, сисадмины)  и прочие (пользователи-юзвери). Первые понимают (в принципе) как работает компьютер, вторые только думают, что понимают. И проблемы в общении с компьютерами у первой и второй категории разные. Но общее у них именно конфликт семантики «по умолчанию» (АКА здравого смысла) человеческого сознания и  отсутствие здравого смысла у компьютера. Компьютер — как акын. Что вижу, то и пою. В смысле — какой код в исполняемом модуле, такой и исполняю. А уж что на самом деле имел в виду кодер — это проблема не компьютера, а кодера.   Но человек же не может смириться с тем, что тупая железяка не хочет понимать его потаённые желания! Так ещё в Фортране-IV появились зачатки концепции умолчания, приведшие к плачевным для концепции типизации последствиям. Компьютерная программа представляет данные в определённых типах. И описать переменную того или иного типа — святой долг кодера. Но кодеры на каждом шагу просто забывали это сделать и получали сообщения об ошибке. Логика нормального человека (русского программиста) — не делать ошибок, а если сделал — вовремя исправлять. «Логика» наших зарубежных коллег иная — странная. Если забыл описать переменную — компьютерная программа (транслятор) сделает это за тебя сама. И совсем не так, как ты имел в виду. И сообщение об ошибке не выдаст. Но вот что дальше делать с этими закопанными как можно глубже ошибками… Вот так и появляются на свет монстры, типа Виндовс и прочие монстры от Мелко-Мягких и тех,  кто доверяет свой код концепции умолчания, считая, что этот суррогат можно считать здравым смыслом компьютера.

Приведу ещё пример попытки «упрощения» первой категории человеко-компьютерного взаимодействия. Язык SQL (Structured Querry Language, язык управления базами данных) является переводом на английский терминологии теории реляционной алгебры. По задумке авторов схожесть терминов со словами естественного языка должна была упростить освоение и использование этого языка. На деле всё наоборот. Я наблюдал, что чем ниже уровень владения английским, тем проще идёт освоение. Потому, что семантику терминов не заслоняет семантика их английских слов-прототипов. Вот пример. Для прямого условия выборки используется WHERE. А для группового — HAVING. Если не вдаваться — всё нормально. А если задуматься… Лучше не задумываться. А ещё лучше — просто не знать, как это на русский переводится. Чтоб не задумываться, а кодить, кодить, кодить…

Или OR

Если не переводить на русский, всё понятно. Булева функция с таблицей истинности 0,1,1,1. А если перевести… ИЛИ — в русском понимании это то, что в Булевой алгебре принято обозначать XOR, то есть 0,1,1,0. Так что лучше не переводить. То же и с переводом на русский Паскаля в Ершол. Была такая идея, что если перевести всякие begin, end, real, record и т.д на русский, станет проще. Не стало. Никто не стал этот язык использовать. Все понимаю, что end — это закрывающая операторная скобка (как } в С). А вот увидев в коде слово «конец» — могут возникнуть нездоровые ассоциации… Так что лучше не переводить.

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

Для второй категории человеко-компьютерного взаимодействия такой императив, увы, не подходит. Негуманно от пользователя требовать логики. Точнее, вообще чего-то от него требовать. Это он всё время чего-то требует, требует… Но не будем о грустном. В частности, о том, какие силы приходится растрачивать разработчикам на защиту от дурака, то есть от пользователя (nothing personal, just business!).  Итак, пользователь требует, а разработчик вынужден прогибаться и эмулировать в компьютере видимость наличия здравого смысла. Не успел пользователь ввести в поле поиска первую букву, как тут же вываливается список возможных запросов по умолчанию. И, отнюдь, не по какому-то реальному здравому смыслу, а просто из статистики запросов других пользователей. То есть, вместо здравого смысла — нездоровый конформизм. Впрочем… Для поколения воинствующих конформистов, искренне верящих в Википедию, как в Святое Писание, может, так и надо…  Бывают, конечно, более содержательные случаи. Мы с сестрой как-то собрались написать первый в мире grammar — checker для русского языка. И написали. Он предназначался для очень интерактивной системы обучения иностранцев. Суть его была в том, что он исправлял произвольные грамматические ошибки во фразах, которые обучаемые должны были составить с предлагаемыми в заданиях словами. И тут на помощь здравому смыслу пришли семантические шкалы. Так трамвай имел в шкале признак транспортного средства, и на нём можно было ездить. А студент — не имел. Так что ошибочная фраза «Трамвая ехать на студенту» исправлялась не только по формальным признакам согласования падежей, но и по смыслу. Не «Трамвай едет на студенте», а всё же «На трамвае едет студент».  Жаль, что нам не довелось дорастить семантические шкалы до полноценных семантических моделей. Но ещё сильнее жаль, что за эти 30 с лишним лет этого не сделал никто, и продолжают поисковики оценивать релевантность своего поиска по каким угодно критериям, только не смыслу. Я бы сформулировал для второй категории человеко-компьютерного взаимодействия такой императив: Здравый смысл компьютера, который бы позволил человеку и компьютеру понимать друг друга — это анализ семантических моделей, а не статистика по ключевым словам, цинично и нагло называемая «семантическими сетями», хотя ни с семантикой, ни со здравым смыслом в обыденном понимании они рядом не стояли.

Итак, на этом я прерву свои нелирические отступления и вернусь к теме статьи. Как я уже упоминал, в первых строках своей статьи, порождение знаний начинается с того, что человек (или когда-нибудь компьютер) выделяет по характерным признакам понятия и даёт им названия. Можно, конечно, и не давать названия. Но тогда при формулировании их свойств каждый раз придётся перечислять их характерные признаки. И не дай Бог перечислить не все — тогда это будет уже совершенно другое понятие! Какое название давать? Да любое! Казалось бы… Но велика опасность внести в название полисемию. Людям полисемия не так уж страшна — благо есть здравый смысл. А для компьютера она сокрушительна. Да и людям при определённых обстоятельствах она может с рук не сойти. Вот примеры из практики использования баз данных.

Если я говорю «отролбэчить» или «закоммитить», непосвящённые меня просто не поймут, а у коллег даже вопроса не возникнет. А если я скажу «откатить» или «накатить», то даже у коллег могут возникнуть вопросы, не то что у непосвященных, которым покажется, что они поняли, о чём это я. «Накатить», особенно в конце рабочего дня вызовет здоровую ассоциацию со злоупотреблением алкоголя, а «откатить» — нездоровую ассоциацию с коррупционными мероприятиями. Так что давайте засорять великий и могучий русский язык специальными терминами, исключающими полисемию. Величие и могущество не убудет, а проблемы с пониманием как-то начнут решаться.

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

Так что давайте плодить и засорять, лишь бы правильно понимать друг друга!

3 комментариев на “Замусоривание Великого и Могучего обломками бритвы Оккама (апология иноязычных неологизмов)
Trashing of The Great and Might by The Scrap of The Okkam`s Razor (An Apology of The Foreign-language Neologisms)”

  1. Хочу обратить внимание, что 1С активно юзает язык с русской семантикой. И ничо, все привыкли… Кстати, первые четыре абзаца моей статьи, на похожую тему.

    Дата: Ноябрь 23rd, 2015 | 16:19
  2. Александр Широков

    Насчёт «все привыкли» верится с трудом. Я лично не встречал 1С-ников, которые бы юзали Ершол вместо Паскаля.
    Впрочем… Там одной кнопочкой переключается с одного на другое, так что объективно сказать, на какой версии
    текст был написан всё равно невозможно.

    Дата: Ноябрь 24th, 2015 | 13:15
  3. ». И это — наиболее раннее выражение латинской максимы, известной впоследствии под названием «Бритва Оккама».

    Дата: Июнь 21st, 2018 | 19:32

Оставить комментарий