Le différence clé entre la programmation fonctionnelle et la programmation impérative est que le La programmation fonctionnelle considère les calculs comme des fonctions mathématiques et évite de changer les données d'état et mutables tandis que la programmation impérative utilise les déclarations qui modifient l'état des programmes.
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 pourrait influencer plus de paradigmes. Dans le paradigme orienté objet, le programme est structuré à l'aide d'objets et les objets transmettent des messages en utilisant des méthodes. La programmation logique peut exprimer un calcul exclusivement en termes de logique mathématique. Deux autres paradigmes de programmation sont une programmation fonctionnelle et une programmation impérative. La programmation fonctionnelle permet d'exprimer des calculs comme évaluation des fonctions mathématiques. La programmation impérative fournit des déclarations 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.
1. Aperçu et différence clé
2. Qu'est-ce que la programmation fonctionnelle
3. Qu'est-ce que la programmation impérative
4. Similitudes entre la programmation fonctionnelle et la programmation impérative
5. Comparaison côte à côte - Programmation fonctionnelle vs programmation impérative sous forme tabulaire
6. Résumé
La programmation fonctionnelle est basée sur les mathématiques. Le principe clé derrière la programmation fonctionnelle est que tout le calcul est considéré 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) = x * x. 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 pour la sortie 9 et ainsi de suite.
Figure 01: Exemple du langage de programmation fonctionnelle - Haskell
Dans la programmation fonctionnelle, les modèles sont considérés. Les langages de programmation fonctionnelle Haskell, utilise la méthode ci-dessous pour trouver la sommation des nombres.
La fonction de 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.
somme [n] = n, la somme d'un nombre est le nombre lui-même.
S'il y a une liste de nombres, il peut être écrit comme suit. Le n représente le premier nombre, et ns représente les autres nombres
sum (n, ns) = n + sum ns.
Des modèles ci-dessus peuvent être appliqués pour trouver la sommation de trois nombres qui sont 3,4,5.
3 + somme [4,5]
3 + (4 + sum [5])
3+ 4 + 5 = 12
Une fonction ou une expression aurait des effets secondaires s'il modifie un état en dehors de sa portée ou a une interaction observable avec ses fonctions d'appel en plus de la valeur de retour. La programmation fonctionnelle minimise ces effets secondaires. Les changements d'état ne dépendent pas des entrées de fonction. Il est utile de comprendre le comportement du programme. Un inconvénient de la programmation fonctionnelle est que l'apprentissage de la programmation fonctionnelle est plus difficile par rapport à la programmation impérative.
La programmation impérative est un paradigme de programmation qui utilise les déclarations 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 si, sinon, pour les boucles, les classes, les objets et les fonctions.
Figure 02: Exemple du langage de programmation impératif - Java
La sommation de dix nombres se trouve en Java comme suit. Dans chaque itération, la valeur I est ajoutée à la somme et affectée à la variable de somme. Dans chaque itération, la valeur de somme continue d'ajouter à la somme précédemment calculée.
int sum = 0;
pour (int i = 0; i< =10; i++)
sum = sum + i;
La programmation impérative est facile à apprendre, à comprendre et à déboguer. Il est facile de trouver l'état du programme en raison de l'utilisation des variables d'état. Certains inconvénients sont qu'il peut rendre le code long et peut également minimiser l'évolutivité.
Programmation fonctionnelle vs impérative | |
La programmation fonctionnelle est un paradigme de programmation qui considère le calcul comme l'évaluation des fonctions mathématiques et évite de changer les données d'état et mutables. | La programmation impérative est un paradigme de programmation qui utilise des déclarations, qui modifient l'état d'un programme. |
Structure | |
La programmation fonctionnelle contient des appels de fonction et des fonctions d'ordre supérieur. | La programmation impérative contient si, sinon, pour les boucles, les fonctions, les classes et les objets. |
Langages de programmation | |
Scala, Haskell et Lisp sont des langages de programmation fonctionnelle. | C, C ++, Java sont des langages de programmation impératifs. |
Se concentrer | |
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 facile. |
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 sont deux d'entre elles. 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 changer les données d'état et mutables tandis que la programmation impérative utilise les instructions qui modifient l'état des programmes.
1.«Programmation impérative.»Wikipedia, Wikimedia Foundation, 28 mars. 2018. Disponible ici
2.«Programmation fonctionnelle.»Wikipedia, Wikimedia Foundation, 28 mars. 2018. Disponible ici
3.Ordinateur. YouTube, YouTube, 30 août. 2013. Disponible ici
1.'Haskell Logo'By Haskell1965 - Propre travaux, (CC BY-SA 3.0) via Commons Wikimedia
2.'14485179234'By Captures d'écran Linux (CC par 2.0) via Flickr