Разница между функциональным программированием и императивным программированием

Оглавление:

Разница между функциональным программированием и императивным программированием
Разница между функциональным программированием и императивным программированием

Видео: Разница между функциональным программированием и императивным программированием

Видео: Разница между функциональным программированием и императивным программированием
Видео: 1001364 2024, Апрель
Anonim

Ключевое различие - функциональное программирование против императивного программирования

Ключевое различие между функциональным программированием и императивным программированием состоит в том, что функциональное программирование рассматривает вычисления как математические функции и избегает изменения состояния и изменяемых данных, в то время как в императивном программировании используются операторы, которые изменяют состояние программы.

Парадигма программирования обеспечивает стиль построения структуры и элементов компьютерной программы. Парадигмы программирования помогают классифицировать языки программирования на основе их характеристик. Язык программирования может влиять на большее количество парадигм. В объектно-ориентированной парадигме программа структурирована с использованием объектов, а объекты передают сообщения с помощью методов. Логическое программирование может выражать вычисления исключительно в терминах математической логики. Еще две парадигмы программирования - это функциональное программирование и императивное программирование. Функциональное программирование позволяет выражать вычисления как оценку математических функций. Императивное программирование предоставляет операторы, которые явно изменяют состояние памяти. В этой статье обсуждается разница между функциональным программированием и императивным программированием.

СОДЕРЖАНИЕ

1. Обзор и основные отличия

2. Что такое функциональное программирование

3. Что такое императивное программирование

4. Сходства между функциональным программированием и императивным программированием

5. Параллельное сравнение - функциональное программирование и императивное программирование в табличной форме

6. Резюме

Что такое функциональное программирование?

Функциональное программирование основано на математике. Ключевой принцип функционального программирования заключается в том, что все вычисления рассматриваются как комбинация отдельных математических функций. Математическая функция сопоставляет входы с выходами. Предположим, что существует функция с именем f (x) = x * x. Значение x 1 отображается на выходе 1. Значение x 2 отображается на выходе 4. Значение x 3 отображается на выходе 9 и так далее.

Разница между функциональным программированием и императивным программированием
Разница между функциональным программированием и императивным программированием

Рисунок 01: Пример функционального языка программирования - Haskell

В функциональном программировании рассматриваются шаблоны. Функциональные языки программирования Haskell используют приведенный ниже метод для суммирования чисел.

Функция суммы имеет целочисленные значения, и результат также будет целым числом. Его можно записать как сумму: [int] -> int. Суммирование можно выполнить, следуя приведенным ниже схемам.

sum [n] = n, сумма одного числа и есть само число.

Если есть список номеров, его можно записать следующим образом. N представляет первое число, а ns представляет другие числа.

сумма (п, нс) = п + сумма нс.

Вышеупомянутые шаблоны можно применить, чтобы найти сумму трех чисел, которые равны 3,4,5.

3 + сумма [4,5]

3 + (4 + сумма [5])

3+ 4 + 5 = 12

Говорят, что функция или выражение имеют побочные эффекты, если они изменяют какое-то состояние за пределами своей области действия или имеют наблюдаемое взаимодействие с вызывающими функциями помимо возвращаемого значения. Функциональное программирование сводит к минимуму эти побочные эффекты. Изменения состояния не зависят от входов функции. Это полезно для понимания поведения программы. Одним из недостатков функционального программирования является то, что изучение функционального программирования сложнее по сравнению с императивным программированием.

Что такое императивное программирование?

Императивное программирование - это парадигма программирования, в которой используются операторы, изменяющие состояние программы. Он фокусируется на описании того, как работает программа. Такие языки программирования, как Java, C и C #, являются обязательными языками программирования. Он предоставляет пошаговую процедуру о том, что делать. Императивные языки программирования содержат такие структуры, как if, else, while, для циклов, классов, объектов и функций.

Ключевое различие между функциональным программированием и императивным программированием
Ключевое различие между функциональным программированием и императивным программированием

Рисунок 02: Пример императивного языка программирования - Java

Суммирование десяти чисел можно найти в Java следующим образом. На каждой итерации значение i добавляется к сумме и присваивается переменной суммы. На каждой итерации значение суммы продолжает добавляться к ранее вычисленной сумме.

int sum = 0;

for (int i = 0; i <= 10; i ++) {

сумма = сумма + я;

}

Императивное программирование легко изучить, понять и отладить. Состояние программы легко найти благодаря использованию переменных состояния. Некоторые недостатки заключаются в том, что это может сделать код длинным, а также может минимизировать масштабируемость.

В чем сходство между функциональным программированием и императивным программированием?

И функциональное программирование, и императивное программирование являются парадигмами программирования

В чем разница между функциональным программированием и императивным программированием?

Различать статью в середине перед таблицей

Функциональное и императивное программирование

Функциональное программирование - это парадигма программирования, которая рассматривает вычисления как оценку математических функций и избегает изменения состояния и изменяемых данных. Императивное программирование - это парадигма программирования, в которой используются операторы, изменяющие состояние программы.
Структуры
Функциональное программирование содержит вызовы функций и функции высшего порядка. Императивное программирование содержит if, else, while, для циклов, функций, классов и объектов.
Языки программирования
Scala, Haskell и Lisp - это функциональные языки программирования. C, C ++, Java - императивные языки программирования.
Фокус
Функциональное программирование ориентировано на конечный результат. Императивное программирование фокусируется на описании того, как работает программа.
Простота
Функциональное программирование сложно. Императивное программирование проще.

Резюме - Функциональное программирование против императивного программирования

Парадигма программирования обеспечивает стиль построения структуры и элементов компьютерной программы. Функциональное программирование и императивное программирование - два из них. Разница между функциональным программированием и императивным программированием состоит в том, что функциональное программирование рассматривает вычисления как математические функции и избегает изменения состояния и изменяемых данных, в то время как в императивном программировании используются операторы, которые изменяют состояние программы.

Рекомендуем: