Обновить
7
0

Пользователь

Отправить сообщение

Программные инструкции на естественном языке, или интенциональное программирование

Время на прочтение4 мин
Охват и читатели18K
Данная тема способна вызвать скорее негативную реакцию благодаря тому, что большинство разработчиков являются ее противниками. Все потому, что интенциональное программирование, по сравнению с классическим, имеет существенные недостатки:
  • слабая детерминированность инструкций на естественном языке
  • значительная длина каждой инструкции, что заставляет вводить довольно объемный код
  • код выглядит единообразным, что может затруднять его восприятие и процесс поиска
  • сниженная скорость работы программы за счет анализа большего количества символов

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

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

Парадигма ситуационно-ориентированного программирования

Время на прочтение5 мин
Охват и читатели28K
Как известно, существует три вида алгоритмов: линейные, разветвленные и циклические:

image

Основой всего, что сделано в методологии программирования, включая и объектное программирование стало структурное программирование, предложенное Эдсгером Дейкстрой в 1970-х годах. Одной из основных идей было введение блочных операторов ветвления (IF, THEN, ELSE) и цикличности (WHILE, FOR, DO, UNTIL и др.) вместо проблемного оператора GOTO, который приводил к получению запутанного, неудобочитаемого «спагетти-кода».

Для использования в интеллектуальных системах структурное программирование обладает серьезным недостатком.
Читать дальше →

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность