Lundi 16 avril 2018
Programmation fonctionnelle avec Scala
Programmer, c’est penser. Quand on pense, on a tendance à avoir chacun ses propres idées, ses propres lignes conductrices, ses propres approches.
Pareil en programmation, un développeur doit se positionner face au problème et poser la question : Comment dois-je m’approcher vis-à-vis ce type de problème ? Une toute première piste, serait de bien choisir le paradigme de programmation (la feuille de route, en quelque sorte). En programmation on en cite plusieurs, dont principalement et les plus connus et utilisés :
- Paradigme procédural (ou classique) : Un paradigme se reposant sur une suite d’instructions sous forme de procédures, et s’orientant dans l’ordre d’exécution du programme.Principaux langages : C, Cobol, Perl, Pascal
- Paradigme orienté objet (POO) : Il s’agit d’un concept reposant sur des entités appelées objets.Principaux langages : Java, C#, C++, VB.NET, Python
- Paradigme fonctionnel : C’est un paradigme entièrement différent des deux précédents, s’inspirant du POO mais avec un appui sur les fonctions comme cœur de concept, et considérant le calcul et l’évaluation des fonctions mathématiques comme opération unitaire et fondamentale.
- Les fonctions pures
Quand on évoque la programmation fonctionnelle, et comme son nom l’indique, on se repose principalement sur les fonctions, mais pas n’importe quelles fonctions : Les fonctions pures. Une
fonction pure est une fonction mathématique dont son résultat d’évaluation ne dépend que de la valeur de ses arguments, et pas d’un objet ou d’un état externe, et qui retourne le résultat d‘une certaine évaluation mathématique. Dans ce cas, les fonctions pures ne peuvent jamais avoir des effets de bord.
- Immutabilité
- Récursivité
- « Refactoring »
- Fonction comme objet
- Modularité
- Transparence des exceptions En Java par exemple, la gestion des exceptions est fortement recommandée. Une référence nulle peut facilement mener à un plantage partiel ou complet de notre application.
- Typage statique