[#] Программные инструкции на естественном языке, или интенциональное программирование
habrabot(difrex,1) — All
2015-10-09 16:30:03


Данная тема способна вызвать скорее негативную реакцию благодаря тому, что большинство разработчиков являются ее противниками. Все потому, что интенциональное программирование, по сравнению с классическим, имеет существенные недостатки:

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

Но у него есть и существенные достоинства:

* человеку интуитивно понятны все инструкции, нет необходимости в предварительном изучения нового языка
* каждая инструкция однозначно отражает намерение разработчика, ее написавшего
* природная способность естественного языка к обобщению и созданию новых уровней абстракции (как для объектов, так и для методов манипуляции с ними) на основе существующих
* процесс программирования на естественном языке возможен не только в чисто императивном виде, но и в виде общения

Для меня наибольший интерес представляет последний пункт, позволяющий изменять поведение механизированной системы на лету в процессе коммуникации. В этом случае язык может выступать и как средство для манипуляций с данными и как средство для обмена данными. Это наделяет интенциональное программирование способностью к реализации своего потенциала в нишевых областях, таких, как робототехника, когда механизм сможет получать описание поведенческих алгоритмов, а так же любую другую информацию через единый коммуникационный интерфейс, при помощи единого языка. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/268401/#habracut