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, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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