Тут недавно в одном эпик треде было сделано утверждение, что люди, дескать думают объектами. После этого там было очень много умозрительных аргументов за и против этой точки зрения (я, кстати, против). Под впечатление от этой дискуссии я призадумался: а правда, какие парадигмы можно применять как модель мышления человека. Результат я привожу ниже. Сразу хочу сказать, что это не проработанная концепция, а некий поток сырых идей. В свою защиту хочу сказать, что уровень научного обоснования моих измышлений такой же, как и у того утверждения, которое вызвало флейм
1. Когда человек совершает знакомое действие (например, чай заваривает), то он автоматически совершает некую привычную ему последовательность действий, сиречь процедуру. Люди очень хорошо понимают, что такое состояние и как оно меняется. При этом процедуры обладают определенной степенью гибкости, действие "включить чайник" мы можем выполнить для более одного типа чайников, не меняя из-за этого общей структуры процедуры. Т.е. можно говорить о процедурном подходе с полиморфизмом. Однако есть один важный нюанс: процедуры со всем их полиморфизмом являются принадлежностью не тех объектов, которыми манипулирует человек, а его собственной принадлежностью.
2. Когда человек пытается сделать что-то нетривиальное (для чего у него нет привычной автоматической программы), он демонстрирует т.н. "поисковое поведение". Обычно в ходе этого он на основании предыдущего опыта мысленно моделирует разные варианты решения, пытаясь найти подходящий. Когда находит, то пытается его воплотить, упирается в непредвиденную проблему, опять начинает думать, что-то переделывает и так далее. Можно сказать, что пока человек просто думает, он "вычисляет" без побочных эффектов, а когда делает — меняет состояние. Мысленный поиск решения очень напоминает поиск в дереве решений a la Prolog, причем в его "чистом" логическом подмножестве. Практические эксперименты напоминают прологовский поиск с отсечениями (!/0), возникающими там, где человек совершает необратимые изменения в окружающей среде (вызывает предикаты с побочными эффектами).
3. Человек наделяет свойствами не только явно выделимые физические предметы (стол, стул, чайник), но и организацию предметов, возникающую ситуативно. Например, опытный водитель видит на дороге не просто много машин, он видит такие вещи как "угроза", "возможность для удачного маневра" и т.п. Причем эти классификации в высшей степени динамичны — ещё секунду назад тут была удачная возможность, а сейчас уже вылез какой-то му... чудак и внезапно водитель видит угрозу. Это напоминает разного рода алгоритмы классификации на базе кластеризации, пространственного паттерн-матчинга, функций-предикатов, абстрактных грамматик и т.п.
4. В зависимости от контекста человек выделяет разные свойства объектов как ключевые для себя. Сковородка может быть посудой, оружием или просто куском металла. Примечательно, что эти варианты интерпретации объекта не являются его собственными свойствами, а принадлежат воспринимающему предметы человеку (так же как и полиморфные процедуры!). Наиболее это близко моделирует утиная типизация с коцептами, причем концептами, определенными на стороне потребителя типов, а не на стороне их самих.
Я думаю, что список можно продолжить. По сути, человек воплощает в себе множество различных вычислительных моделей.
При этом я думаю, что их можно приобретать путем обучения.