Pull to refresh
8
0
Send message

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

Reading time4 min
Views18K
Данная тема способна вызвать скорее негативную реакцию благодаря тому, что большинство разработчиков являются ее противниками. Все потому, что интенциональное программирование, по сравнению с классическим, имеет существенные недостатки:
  • слабая детерминированность инструкций на естественном языке
  • значительная длина каждой инструкции, что заставляет вводить довольно объемный код
  • код выглядит единообразным, что может затруднять его восприятие и процесс поиска
  • сниженная скорость работы программы за счет анализа большего количества символов

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

Для меня наибольший интерес представляет последний пункт, позволяющий изменять поведение механизированной системы на лету в процессе коммуникации. В этом случае язык может выступать и как средство для манипуляций с данными и как средство для обмена данными. Это наделяет интенциональное программирование способностью к реализации своего потенциала в нишевых областях, таких, как робототехника, когда механизм сможет получать описание поведенческих алгоритмов, а так же любую другую информацию через единый коммуникационный интерфейс, при помощи единого языка.
Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments209

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

Reading time5 min
Views27K
Как известно, существует три вида алгоритмов: линейные, разветвленные и циклические:

image

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

Для использования в интеллектуальных системах структурное программирование обладает серьезным недостатком.
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments170

Information

Rating
Does not participate
Registered
Activity