Ключевая разница - декларативное и императивное программирование
Декларативное и императивное программирование - две распространенные парадигмы программирования. Ключевое различие между декларативным и императивным программированием заключается в том, что декларативное программирование фокусируется на том, что программа должна выполнить, а императивное программирование фокусируется на том, как программа должна достичь результата.
Парадигма программирования используется для классификации языка программирования в зависимости от функции. Это также позволяет следовать определенному шаблону или стилю для решения конкретной проблемы.
Что такое декларативное программирование?
Декларативное программирование можно объяснить, используя реальный сценарий. Предположим, что пользователю нужно проверить наличие новых писем. Один из способов - включить уведомления входящих сообщений. Пользователь должен включить уведомления только один раз, и каждый раз, когда приходит новое электронное письмо, он получает уведомление автоматически. Декларативное программирование похоже на это. Он обеспечивает простоту. Декларативное программирование выражает требуемый результат. Он объясняет логику вычислений без описания потока управления.
Рисунок 01: Парадигмы программирования
Пример декларативного программирования выглядит следующим образом. Это умножение чисел массива на константу и сохранение их в новый массив.
var number=[1, 2, 3];
var newnumbers=numbers.map(function(number){
возврат чисел5;
});
Console.log(newnumbers);
В приведенном выше примере «map» дает инструкции для повторения каждого элемента в массиве и для вызова функции обратного вызова для каждого элемента и для сохранения возвращаемого значения в новый массив. Это даст результат 5, 10, 15. В этой программе основная цель умножения чисел на 5 достигается с помощью функции карты. Он будет проходить через каждый элемент и использовать функцию обратного вызова для вычисления и сохранения значений в новом массиве. Не обязательно указывать все шаги. Основное внимание уделяется тому, что должно быть достигнуто.
Что такое императивное программирование?
Императивное программирование можно объяснить, используя реальный сценарий, как и раньше. Чтобы проверить новые электронные письма, пользователь может войти в gmail и постоянно обновлять страницу, чтобы проверить, получил ли он новые электронные письма или нет. Это похоже на императивное программирование. Он объясняет каждый шаг, необходимый для достижения результата. Он использует операторы для выражения изменений в состоянии программы.
Умножение элементов массива на константу и сохранение значений в новый массив в императивном программировании выглядит следующим образом.
var number=[1, 2, 3];
var newnumbers=;
for(int i=0; i< numbers.length; i++) {
newnumbers.push(числа5);
}
Console.log(newnumbers);
В приведенном выше примере числа представляют собой массив. При прохождении цикла каждое число умножается на 5 и добавляется в массив newnumbers. После окончания цикла будет напечатано содержимое новых чисел: 5, 10, 15.
Можно заметить, что императивный стиль обеспечивает все шаги для достижения задачи. Он описывает, как выполнять итерацию по массиву с использованием переменной-счетчика «i», сколько раз выполнять итерацию, прежде чем выйти из цикла, и как вставлять вычисленные значения в новые массивы и т. д.
Та же задача была решена с помощью декларативного и императивного программирования.
В чем разница между декларативным и императивным программированием?
Декларативное и императивное программирование |
|
Декларативное программирование - это парадигма программирования, выражающая логику вычислений без описания потока управления. | Императивное программирование - это парадигма программирования, в которой используются операторы, изменяющие состояние программы. |
Основной фокус | |
Декларативное программирование фокусируется на том, что должна делать программа. | Императивное программирование фокусируется на том, как программа должна достигать результата. |
Гибкость | |
Декларативное программирование обеспечивает меньшую гибкость. | Императивное программирование обеспечивает большую гибкость. |
Сложность | |
Декларативное программирование упрощает программу. | Императивное программирование может увеличить сложность программы. |
Категоризация | |
Функциональное, логическое, программирование запросов относится к декларативному программированию. | Процедурное и объектно-ориентированное программирование относится к императивному программированию. |
Резюме – декларативное и императивное программирование
В этой статье обсуждалась разница между двумя основными парадигмами программирования: декларативным и императивным программированием. Разница между декларативным и императивным программированием заключается в том, что декларативное программирование фокусируется на том, что программа должна выполнить, а императивное программирование фокусируется на том, как программа должна достичь результата.