Différence entre la programmation fonctionnelle et la programmation impérative

Table des matières:

Différence entre la programmation fonctionnelle et la programmation impérative
Différence entre la programmation fonctionnelle et la programmation impérative

Vidéo: Différence entre la programmation fonctionnelle et la programmation impérative

Vidéo: Différence entre la programmation fonctionnelle et la programmation impérative
Vidéo: Comment on code en programmation fonctionnelle ? (comparaison avec la programmation impérative) 2024, Décembre
Anonim

Différence clé - Programmation fonctionnelle vs programmation impérative

La principale différence entre la programmation fonctionnelle et la programmation impérative est que la programmation fonctionnelle considère les calculs comme des fonctions mathématiques et évite de modifier l'état et les données modifiables, tandis que la programmation impérative utilise les instructions qui modifient l'état du programme.

Un paradigme de programmation fournit un style de construction de la structure et des éléments d'un programme informatique. Les paradigmes de programmation aident à classer les langages de programmation en fonction de leurs fonctionnalités. Un langage de programmation peut influencer plus de paradigmes. Dans le paradigme orienté objet, le programme est structuré à l'aide d'objets et les objets transmettent des messages à l'aide de méthodes. La programmation logique peut exprimer le calcul exclusivement en termes de logique mathématique. Deux autres paradigmes de programmation sont la programmation fonctionnelle et la programmation impérative. La programmation fonctionnelle permet d'exprimer des calculs comme l'évaluation de fonctions mathématiques. La programmation impérative fournit des instructions qui modifient explicitement l'état de la mémoire. Cet article traite de la différence entre la programmation fonctionnelle et la programmation impérative.

Qu'est-ce que la programmation fonctionnelle ?

La programmation fonctionnelle est basée sur les mathématiques. Le principe clé de la programmation fonctionnelle est que tous les calculs sont considérés comme une combinaison de fonctions mathématiques distinctes. Une fonction mathématique mappe les entrées aux sorties. Supposons qu'il existe une fonction appelée f(x)=xx. La valeur x 1 est mappée à la sortie 1. La valeur x 2 est mappée à la sortie 4. La valeur x 3 est mappée à la sortie 9 et ainsi de suite.

Différence entre la programmation fonctionnelle et la programmation impérative
Différence entre la programmation fonctionnelle et la programmation impérative

Figure 01: Exemple de langage de programmation fonctionnel – Haskell

En programmation fonctionnelle, les motifs sont pris en compte. Les langages de programmation fonctionnels Haskell utilisent la méthode ci-dessous pour trouver la somme des nombres.

La fonction somme a des valeurs entières, et le résultat sera également un entier. Il peut être écrit comme somme: [int] -> int. La sommation peut être effectuée en suivant les modèles ci-dessous.

sum[n]=n, la somme d'un nombre est le nombre lui-même.

S'il existe une liste de nombres, elle peut être écrite comme suit. Le n représente le premier nombre, et ns représente les autres nombres

somme (n, ns)=n + somme ns.

Les modèles ci-dessus peuvent être appliqués pour trouver la somme de trois nombres qui sont 3, 4, 5.

3 + somme [4, 5]

3 + (4 + somme [5])

3+ 4 + 5=12

Une fonction ou une expression est dite avoir des effets secondaires si elle modifie un état en dehors de sa portée ou a une interaction observable avec ses fonctions appelantes en plus de la valeur renvoyée. La programmation fonctionnelle minimise ces effets secondaires. Les changements d'état ne dépendent pas des entrées de la fonction. Il est utile pour comprendre le comportement du programme. Un inconvénient de la programmation fonctionnelle est que l'apprentissage de la programmation fonctionnelle est plus difficile que la programmation impérative.

Qu'est-ce que la programmation impérative ?

La programmation impérative est un paradigme de programmation qui utilise les instructions qui modifient l'état d'un programme. Il se concentre sur la description du fonctionnement d'un programme. Les langages de programmation tels que Java, C et C sont des langages de programmation impératifs. Il fournit une procédure étape par étape sur ce qu'il faut faire. Les langages de programmation impératifs contiennent des structures telles que if, else, while, for loops, classes, objets et fonctions.

Différence clé entre la programmation fonctionnelle et la programmation impérative
Différence clé entre la programmation fonctionnelle et la programmation impérative

Figure 02: Exemple de langage de programmation impératif - Java

La somme de dix nombres peut être trouvée en Java comme suit. À chaque itération, la valeur i est ajoutée à la somme et affectée à la variable somme. À chaque itération, la valeur de la somme continue de s'ajouter à la somme précédemment calculée.

int somme=0;

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

somme=somme + i;

}

La programmation impérative est facile à apprendre, à comprendre et à déboguer. Il est facile de trouver l'état du programme grâce à l'utilisation de variables d'état. Certains inconvénients sont que cela peut rendre le code long et peut également minimiser l'évolutivité.

Quelle est la similitude entre la programmation fonctionnelle et la programmation impérative ?

La programmation fonctionnelle et la programmation impérative sont des paradigmes de programmation

Quelle est la différence entre la programmation fonctionnelle et la programmation impérative ?

Programmation fonctionnelle vs impérative

La programmation fonctionnelle est un paradigme de programmation qui considère le calcul comme l'évaluation de fonctions mathématiques et évite de changer d'état et de données modifiables. La programmation impérative est un paradigme de programmation qui utilise des instructions qui modifient l'état d'un programme.
Structures
La programmation fonctionnelle contient des appels de fonction et des fonctions d'ordre supérieur. La programmation impérative contient des boucles if, else, while, for, des fonctions, des classes et des objets.
Langages de programmation
Scala, Haskell et Lisp sont des langages de programmation fonctionnels. C, C++, Java sont des langages de programmation impératifs.
Mise au point
La programmation fonctionnelle se concentre sur le résultat final. La programmation impérative se concentre sur la description du fonctionnement d'un programme.
Simplicité
La programmation fonctionnelle est difficile. La programmation impérative est plus simple.

Résumé - Programmation fonctionnelle vs programmation impérative

Un paradigme de programmation fournit un style de construction de la structure et des éléments d'un programme informatique. La programmation fonctionnelle et la programmation impérative en sont deux. La différence entre la programmation fonctionnelle et la programmation impérative est que la programmation fonctionnelle considère les calculs comme des fonctions mathématiques et évite de modifier l'état et les données modifiables, tandis que la programmation impérative utilise les instructions qui modifient l'état du programme.

Conseillé: