Alors, qu'est-ce que la programmation fonctionnelle ?
La programmation fonctionnelle est une question de séparation des préoccupations, ce que la programmation orientée objet fait aussi, n'est-ce
pas ?
Il s'agit d'empaqueter notre code en morceaux séparés afin que tout soit bien organisé dans chaque partie de notre
code.
Et chaque partie est organisée d'une manière qui a du sens en fonction de la fonctionnalité.
Ainsi, lorsque nous disons séparation des préoccupations, nous voulons dire que chaque partie concernait le soi avec une chose pour laquelle il est
bon.
Nous nous souvenons dans notre section de programmation orientée objet de la façon dont nous avions des classes
pour diviser les attributs et les méthodes de, disons, une classe d'assistant et une classe d'archer.
Et la programmation fonctionnelle a aussi cette idée de séparer les préoccupations, mais elle sépare aussi les données et
les fonctions.
C'est ainsi qu'un programmeur fonctionnel voit le monde.
Au lieu de combiner des méthodes et des attributs, nous les séparons car ce sont deux choses distinctes.
Il y a des données et ces données interagissent et sont exploitées.
Mais nous n'allons pas combiner à la fois des données et des fonctions en une seule pièce et un objet comme nous l'avons vu avec la programmation
orientée objet.
Maintenant, il n'y a pas de définition correcte de ce qui est et n'est pas fonctionnel.
Mais en général, les langages fonctionnels mettent l'accent sur la simplicité en ce qui concerne les données et les fonctions
car dans la plupart des paradigmes de programmation fonctionnelle, nous n'avons pas cette idée de classes et d'objets.
Au lieu de cela, les fonctions opèrent sur des structures de données bien définies comme les listes et les dictionnaires que nous avons
vus, plutôt que d'appartenir cette structure de données à un objet.
Mais en fin de compte, l'objectif d'un paradigme de programmation fonctionnelle est le même que celui d'un paradigme orienté
objet.
C'est l'idée de rendre notre code propre et compréhensible.
Facile à étendre.
C'est-à-dire que nous pouvons développer notre code et le rendre de mieux en mieux et demander à d'autres de venir étendre notre code.
C'est plus facile à entretenir.
Il garde notre code au sec afin que nous ne nous répétions pas ainsi que la mémoire de notre
code efficace car nous ne stockons pas d'informations partout.
Maintenant, quand nous arrivons à la programmation fonctionnelle, nous avons un pilier très important et contrairement à la
programmation orientée objet où nous avions ces quatre piliers d'encapsulation, d'abstraction, d'héritage et de polymorphisme, si vous
voulez décomposer les choses dans la programmation fonctionnelle, tout se résume à ce concept de fonctions
pures.
Et c'est quelque chose que nous allons explorer au cours des prochaines vidéos.
Mais l'idée ici est qu'il y a une séparation entre les données d'un programme et le comportement d'un programme.
En savoir plus sur les fonctions pures.
Que signifient-ils?
Que sont-ils?