Le renouveau des langages fonctionnels

Si comme moi, vous suivez l’actualité des langages de programmations, vous vous êtes sans doute aperçue que depuis quelques temps de nombreux articles et tutos vidéos parlaient de la programmation fonctionnelle. Pourtant, il s’agit d’un paradigme déjà très ancien. LISP (langage impératif et fonctionnel) date des années 1970 et Haskell (langage fonctionnel pur) a été créé en 1990.

Lorsque j’ai commencé à m’intéresser à la programmation, dans les années 1980, le COBOL était encore très utilisé sur les gros systèmes et avec la venue de la micro informatique les amateurs comme moi qui voulaient s’initier à la programmation en autodidacte, commençaient généralement par le langage BASIC qui était disponible sur la majorité des micros ordinateurs de l’époque. Ce langage était purement impératif, ne permettait de définir ni procédure ni fonction (seul les GOSUB et GOTO étaient possibles) et ne disposait que de variables globales. Puis, une fois les bases acquise, on passait généralement à des langages qui permettaient de définir procédures, fonctions et variables locales comme le C ou le Pascal.

Puis à peu près à l’époque ou professionnellement, il m’a fallu commencer à développer des programmes pour environnements graphiques et passer à la programmation événementielle, les langages orientés objets, principalement le C++ (créé en 1980), ont commencés à émerger avant de s’imposer dans tous les développements. Les différents langages comme le Turbo Pascal et beaucoup plus tardivement, le PHP ont intégrés le paradigme objets (même le vieux langage COBOL c’est mis à l’objet). Pendant ce temps, de nouveaux langages comme Java (sortie officielle 1995) purement orientés objets sont apparus. En 2 décennies la programmation objet a fini par s’imposer quasiment partout.

Mais voilà, avec l’évolution des architectures matérielles avec l’utilisation de processeurs multi-cœurs il faut penser programmation parallèle. Et il semblerait que les langages fonctionnels seraient plus efficaces pour la gestion des threads.

Pour autant faut-il passer à des langages fonctionnels pur comme Haskell pour ces développements ? Sans doute pas. Les langages fonctionnels imposent, généralement l’utilisation de variables immuables et nous aurons toujours besoin d’accéder à des bases de données, d’agir avec l’environnement et de manipuler des objets qui changent d’états. Nous serons plutôt amenés à utiliser des langages multi-paradigmes, itératif, objet et fonctionnels, ce qui est le cas de beaucoup des langages actuels. La bonne nouvelle, est donc, que vous n’aurez pas forcément à changer de langage pour commencer à vous initier à programmation fonctionnelle, même si certains sont mieux adaptés que d’autres.

La plupart des langages, dans leur versions récentes supportent en partie le paradigme fonctionnel. On peut citer entre autre : C#, C++, Java, JavaScript, Swift, Perl, Ruby, Python, Kotlin, Scala….

Sinon, vous trouverez un tableau comparatif des différents langages et de leurs caractéristiques sur
Wikipedia

A vous maintenant la programmation fonctionnelle mais n’oubliez pas les autres paradigmes, cà peut encore servir.

Article n° 157

Crée par: chris

Créé le: 20 juillet 2020

Modifié le: 20 juillet 2020

Nombre de visites: 30

Popularité: 15 %

Popularité absolue: 1


SPIP

2003-2024 LePpf
Plan du site | | RSS 2.0 | Sur YouTube

Visiteurs connectés : 2

Nombre moyen de visites quotidiennes sur le site: 208