Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 Каково отличие императивной и декларативной моделей выч-ия
Раньше было как-то понятно: модель вычисления включает в себя исполнителя (вычислителя), язык (на котором исполнителю пишется алгоритм) и то, каким образом он разворчаивает алгоритмический процесс. Если в модели вычисления в язык входят команды, работа с ячейками памяти, то это императивная модель, в противном случае декларативная.

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

 Re: Каково отличие императивной и декларативной моделей выч-ия
А кто вам сказал, что между парадигмами должны быть четкие границы?

 Re: Каково отличие императивной и декларативной моделей выч-ия
Иначе зачем было вводить эту классификацию, если нет сущностного призака?

 Re: Каково отличие императивной и декларативной моделей выч-ия
Аватара пользователя
Я плохо представляю, где вы взяли такую классификацию. Существенного смысла она не имеет. Ещё языки программирования как-то можно делить на императивные и декларативные, но и то, все современные языки поддерживают обе парадигмы, в разной степени (скажем, C# — в основном императивный, но на нём можно и декларативно писать, haskell — наоборот).

Более-менее осмысленный подход — определить понятие степени декларативности языка, как степень приближения к (несуществующему) «идеальному декларативному языку», который сам решает любую задачу, её нужно только сформулировать. Тогда тот же haskell будет более декларативным, чем C#.

 Re: Каково отличие императивной и декларативной моделей выч-ия
Алгорифмы Маркова, как и машина Тьюринг это математическая модель.

 Re: Каково отличие императивной и декларативной моделей выч-ия
И что же? Никто не мешает сделать языки программирования, основанные на них.

 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group