2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Каково отличие императивной и декларативной моделей выч-ия
Сообщение05.09.2011, 15:32 


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

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

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


26/07/09
1559
Алматы
А кто вам сказал, что между парадигмами должны быть четкие границы?

 Профиль  
                  
 
 Re: Каково отличие императивной и декларативной моделей выч-ия
Сообщение07.09.2011, 23:05 


23/12/07
1763
Иначе зачем было вводить эту классификацию, если нет сущностного призака?

 Профиль  
                  
 
 Re: Каково отличие императивной и декларативной моделей выч-ия
Сообщение08.09.2011, 06:58 
Аватара пользователя


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

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

 Профиль  
                  
 
 Re: Каково отличие императивной и декларативной моделей выч-ия
Сообщение11.09.2011, 00:10 


28/09/09
29
Алгорифмы Маркова, как и машина Тьюринг это математическая модель.

 Профиль  
                  
 
 Re: Каково отличие императивной и декларативной моделей выч-ия
Сообщение24.09.2011, 16:54 
Заслуженный участник


27/04/09
28128
И что же? Никто не мешает сделать языки программирования, основанные на них.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group