LINUX.ORG.RU

Что не так с сообщениями в ООП

 ,


1

1

Мысль довольно простая, но она почему то дошла до меня только сейчас, когда я читал кое какие вещи по лингвистике.

В ООП объекты получают сообщения, это так же как и в RL. А разница в чем? В том что каждый объект имеет свой язык(!!!).

Свойства, методы, их имена, названия, это сообщения. Для этих имен должен быть общий словарь, так же как и у людей есть общий язык.

Некоторым аналогом этого является глобальное пространство имен, но некоторые проблемы реализации не позволяют это использовать полноценно. Поэтому де-факто концепция языка и обмена сообщениями не раелизуется в ООП и никто даже не думает обычно в этом смысле когда программирует

А что касается проблем, одна из них в том, что не реализовано обобщение(возможно отчасти это проблема раннего нединамического связывания). Например

Командир говорит: «возьмите в руки свое оружие»

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



Последнее исправление: no2700 (всего исправлений: 3)
Ответ на: комментарий от no2700

с четкими правилами словоизменений, словоформ и так далее.

Вот это для машины точно лишнее. Естественные языки обходятся без словоизменения. Китайский, вьетнамский, индонезийский и т.п.

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

Вполне вероятно, что на нашем этапе развития IT, уже наверное следовало бы переходить как раз к передаче «смыслов», а не низкоуровневых «инструкций».

Чтобы машина понимала выражения наподобие «выбери все значения больше 1000 и отсортируй их по возрастанию» вне зависимости от того, идёт речь о компиляции Си-подобного кода или об отправке запроса в базу данных или сортировке строк в терминале.

Но как к такой задаче подступиться, не ясно.

wandrien ★★★
()
Ответ на: комментарий от wandrien

Чтобы машина понимала выражения наподобие «выбери все значения больше 1000 и отсортируй их по возрастанию»

Python Robot Framework

anonymous
()
Ответ на: комментарий от wandrien

от это для машины точно лишнее. Естественные языки обходятся без словоизменения. Китайский, вьетнамский, индонезийский и т.п.

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

no2700
() автор топика
Ответ на: комментарий от wandrien

Чтобы машина понимала выражения наподобие «выбери все значения больше 1000 и отсортируй их по возрастанию» вне зависимости от того, идёт речь о компиляции Си-подобного кода или об отправке запроса в базу данных или сортировке строк в терминале.

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

no2700
() автор топика
Ответ на: комментарий от no2700

Такое «понимание» идет не от того что система умная, а от того что каждая такая операция реализована отдельно.

Прям как в голове у человека. Мозг это по сути нейросеть с хардкодом инструкций. условный помощник «Василий» в умной колонке это тоже нейросеть с набором инструкций.

anonymous
()
Ответ на: комментарий от anonymous

Прям как в голове у человека.

Нет, в голове человека, и даже животного, действует не только этот принцип, но и логический аппарат.

В целом, этот принцип алгоритмизации более свойственен действительно именно человеку, в силу того что человек легко понимает язык, а из-за этого ему легко вшить инструкции, это что то из рода обучения с учителем.

Но это вообще не лучшая сторона человеческого мозга, это ведет к как раз к аутическим тенденциям

no2700
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.