2014 dxdy logo

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

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




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

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

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

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

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

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

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

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

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


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