Les paradigmes de programmation<span class="wtr-time-wrap after-title"><span class="wtr-time-number">10</span> min read</span>

Les paradigmes de programmation10 min read

On entends beaucoup parler du terme paradigme, et souvent quand on débute, on ne sait pas ce que c’est.

C’est vrai que c’est assez complexe , particulièrement quand on as pas beaucoup d’expérience.

Dans cet article , nous allons voir ce qu’est un paradigme et nous allons découvrir les principaux paradigmes de programmation.

C’est quoi un paradigme ?

Voyons d’abord ce qu’est exactement un paradigme.

On peux définir un paradigme comme un style de programmation. Attention, ne confondez pas les paradigmes et les design patterns.

Les paradigmes régissent la façon de programmer, les design patterns régissent la façon de structurer votre code

En programmation, vous utilisez forcément un paradigme. Et ce même si vous venez de commencer et que vous n’avez aucune idée de ce que vous faites.

Pourquoi les paradigmes sont importants ?

Ce sont les paradigmes qui définissent la manière dont vous programmez.

Sans eux, il n’y aurait pas de règle et de conventions dans le domaine de la programmation.

Et en quoi ça serait un problème ?

Et bien la programmation est un domaine très complexe. Il faut respecter certaines règles afin d’assurer la bonne qualité de votre code.

Certaines conventions de codage vous facilitent la vie. Sans elles, les librairies seraient un sacré chantier.

Globalement, les paradigmes vous donnent la marche à suivre pour programmer. Ils vous donnent des règles simples mais efficace vous permettant de créer un programme facilement

Quels sont les différents paradigmes ?

Il y a 4 grands paradigmes en programmation. Nous allons tous les voir.

Vous découvrirez les avantages de chaque paradigme, leurs inconvénients et pourquoi vous devriez ou non les choisir

Commençons par le paradigme le plus connu puisque c’est celui que vous utilisez si vous venez de commencer la programmation,

La programmation impérative

C’est le paradigme de programmation de base. Les instructions sont lues et exécutées de haut en bas et c’est tout !

Si vous débutez la programmation, vous utilisez forcément ce style de programmation.

En toute logique, vous créez votre algorithme, et vous faites en sorte qu’il s’exécute de haut en bas.

Ce système semble être le seul existants lorsque l’on débute. Mais en fait, il y a bien d’autres manières de programmer.

On pourrait penser que la programmation impérative est mauvaise puisque c’est la forme la plus basique.

Mais pourtant, des langages de programmation massivement utilisés comme C l’utilisent.

Croyez le ou non, mais Windows est programmé de manière impérative. C’est donc possible de créer des programmes gigantesques avec ce paradigme.

Mais si on en as inventés d’autres, c’est qu’il y à une raison. La programmation impérative est très difficile à organiser.

Il y a beaucoup de répétitions dans le code et le système de lecture de haut en bas est souvent très handicapant sur les gros programmes.

C’est pour ces raisons que de nouveaux langages de programmation ont vues le jour. Et que ces langages ont pu utiliser de nouveaux paradigmes.

La programmation déclarative

Ce paradigme est le plus évident derrière la programmation impérative puisqu’il ne nécessite pas de structures

L’idée de la programmation déclarative, c’est de n’inclure aucun code dans le programme de base.

Mais comment c’est possible ?

Et bien pour toutes les opérations de calculs, de manipulations de données ou autre, on utilise des fonctions.

Le code exécuté ne fait qu’appeler les fonctions et gérer les relations entre les variables.

On peux voir la programmation déclarative comme un paradigme semblable à la programmation impérative.

Le code est exécuté de haut en bas. Mais on passe par des fonctions systématiquement et ce pour chaque opération.

Je pense que ce paradigme est plus simple à manier pour les gros programmes , le code est mieux structuré.

La programmation fonctionnelle

Passons au troisième paradigme. Sachez que j’ai écrit un article complet sur le sujet.

La programmation fonctionnelle, ce n’est pas seulement l’idée de passer par des fonctions pour gérer les opérations.

C’est plutôt le fait de manipuler des fonctions comme si c’était des objets ou des variables.

La programmation fonctionnelle utilise les principes de callback. C’est à dire qu’une fonction reçoit en argument une autre fonction. Et que la fonction en argument est exécutée à l’intérieur de la fonction principale

Vous vous en douterez, la programmation fonctionnelle utilise uniquement des fonctions. Chaque opération doit être contenue dans une fonction.

Cependant, les fonctions ont des règles. Elles doivent pour la majorité être pures

Une fonction pure doit être prévisible, c’est à dire qu’elle ne doit pas dépendre d’éléments extérieurs.

De plus , elle ne doit pas modifier les données qu’elle reçoit. On appelle ça l’immutabilité.

Bien sûr, il est impossible de maintenir 100% des fonctions pures. L’idée c’est d’avoir 80% des fonctions pures.

A quoi ça sert tout ça ?

C’est vrai que ça fait beaucoup de contraintes…

La programmation fonctionnelle permets de structurer le code d’une manière extrêmement performante.

Chaque processus est contenu dans une fonction, ainsi il est réutilisable et surtout isolable.

Si le code as un problème, il suffit d’observer quelle fonction pose problème et le tour es joué. On ne perds pas de temps.

La programmation fonctionnelle est assez complexe à appréhender. Certains disent qu’elle l’es moins que la programmation orientée objet que l’on va aborder juste après, mais je pense le contraire.

C’est un paradigme très intéressant mais très difficile à maîtriser

La programmation orientée objet

Passons maintenant au paradigme adopté par la majorité des développeurs profesionnels.

La programmation orientée objet utilise un système de classes. Le concept est plutôt simple.

On déclare une classe semblable à un schéma. Ensuite, on crée des objets qui se basent sur le schéma.

Encore une fois , j’ai crée un article détaillé sur le sujet que je vous invite à lire

La programmation orientée objet permets de structurer son code de manière exemplaire.

Les classes sont définies dans des fichiers à part. Ensuite on crée nos objets dans nos fonctions ou fichiers principaux et on les manipulent.

Le truc avec la programmation orientée objet, c’est que c’est très simple à structurer.

Tout est séparé dans des fichiers différents.

Il est assez complexe de comprendre le fonctionnement de la programmation orientée objet, mais une fois compris, les choses deviennent simple.

C’est le paradigme le plus utilisé, et ce n’est pas pour rien.

Il est très performant, et on trouve des centaines de librairies basées sur ce paradigme.

En fait, c’est la norme dans la majorité des langages. Que cela soit Python, PHP, Java ou C++, pour trouver un job vous devez faire de la programmation orientée objet.

Beaucoup de gens voient ce paradigme comme le graal des apprentis programmeurs, le truc que vous devez apprendre.

Bien que je pense que la programmation orientée objet possède quelques défauts, c’est globalement vrai.

Dans l’industrie actuelle, vous devez l’apprendre.

Choisir un paradigme de programmation

Bon, vous vous en douterez, a moins que vous fassiez du C , vous allez devoir choisir entre la programmation orientée objet, la programmation fonctionnelle et la programmation déclarative.

On va maintenant voir quel paradigme vous devriez choisir selon votre style de programmation, vos préférences et votre langage

Sachez d’abord que le style de programmation le plus utilisé est la programmation orientée objet.

Si vous voulez trouver un travail et que vous utilisez un langage qui n’est pas dans la liste suivante , vous devez apprendre ce paradigme :

  • Haskell
  • Javascript
  • C

Ces trois langages ne sont pas dépendants de la programmation orientée objet.

Pour les autres, c’est vraiment un standard du métier.

Maintenant, il se peut que vous travaillez sur un projet solo, dans ce cas, vous êtes plus libres.

La programmation déclarative est assez limittante. On n’utilise pas vraiment ce que propose les langages modernes.

Dans la majorité des langages, les fonctions sont des objets et la programmation orientée objet existe, il est donc dommage de ne pas les utiliser.

Votre choix devras donc se porter sur

La programmation fonctionnelle vs orientée objet

La programmation orientée objet vs la programmation fonctionnelle

C’est la grande question. Celle qui enflamme les forums, qui nous fait passer des nuits blanches.

Plus sérieusement, c’est une question importante , vous devez prendre le bon choix selon votre projet

Bon, déjà, y a t-il objectivement un paradigme meilleur que l’autre ?

Et bien non.

Les deux paradigmes sont aussi bons l’un et l’autre.

Ils n’ont juste pas les mêmes avantages.

Choisir la programmation orientée objet

La programmation orientée objet est extrêmement structurée.

Les règles sont strictes, vous faites comme on vous le dit, c’est assez dogmatique.

Néanmoins, grâce à ce système rigide, la programmation orientée objet permets une grande facilité dans le développement.

Puisque tout est bien organisé, vous n’aurez pas de soucis dans les décisions à prendre.

Il seras facile de créer vos classes et de faire intéragir vos objets.

Par contre, la programmation orientée objet est un peu lourde. Certaines personnes ne l’aiment pas.

Elle demande beaucoup de code pour implémenter peu de fonctionnalités.

Globalement, c’est le paradigme que je recommande , il est probablement plus simple que la programmation fonctionnelle et aussi bien souvent plus performant.

Si vous voulez choisir un paradigme mais que vous n’avez aucune idée, prenez sans hésiter la programmation orientée objet.

Choisir la programmation fonctionnelle

Je suis plus réservé concernant la programmation fonctionnelle. Elle est beaucoup utilisée ces dernières années , particulièrement en Javascript.

Pourtant, pour avoir longtemps codé en Node JS, je peux vous assurer qu’il était bien plus compliqué de faire une application avec ce paradigme qu’avec une programmation orientée objet classique.

Par contre, une fois les difficultés passés, l’entretien et le développement de l’application étaient bien plus simples.

Je pense que la programmation fonctionnelle est réservée aux gens en ayant vraiment besoin pour de bonnes raisons.

Ne prenez pas ce paradigme uniquement pour la hype qu’il génère en ce moment. Prenez le si c’est vraiment nécessaire.

En conclusion

Il existe 4 grands paradigmes en programmation. Nous avons vu que seuls deux étaient encore vraiment utilisés dans les langages modernes.

La programmation fonctionnelle et la programmation orientée objet.

Ces deux paradigmes, sont très intéressants, ils permettent de bien structurer votre code.

La programmation orientée objet est utilisée par la majorité des programmeurs. C’est donc le paradigme que je vous recommande si vous voulez créer un projet.

Si cet article vous as plu, vous pouvez vous abonner à ma newsletter. Vous recevrez en prime un ebook GRATUIT pour bien débuter la programmation

Vous abonner à notre newsletter

* champ requis

Laisser un commentaire

Fermer le menu
×
×

Panier