Quand utilise-t-on la programmation fonctionnelle?

Concepts de paradigmes de programmation

Eleanor Thomas

Senior Data Analytics Engineer

Applications de la programmation fonctionnelle

  • Machine Learning, apprentissage profond, intelligence artificielle
  • Analyse et traitement de grands ensembles de données
  • Applications d'ingénierie des données (p. ex., en Scala et Clojure)

Traitement de données

Concepts de paradigmes de programmation

Exemple de programmation fonctionnelle

def process_data(raw_data):
    processed_data = raw_data

    ... further processing steps here! ...

    return processed_data
  • La fonction reçoit les données d'entrée dans raw_data
  • Elle crée une nouvelle variable de sortie, processed_data
  • Elle exécute une suite d'étapes cohérentes pour traiter les données
  • Elle retourne processed_data
Concepts de paradigmes de programmation

Avantages et inconvénients de la programmation fonctionnelle

AVANTAGES

  • Fonctions pures plus faciles à lire et à déboguer
  • Fonctions pures plus faciles à tester
  • Moins d'effets inattendus dans le code
  • Fonctions pures très réutilisables d'un projet à l'autre
  • Possibilité d'exécuter des fonctions en parallèle pour accélérer le code

INCONVÉNIENTS

  • Paradigme auquel il est difficile de s'habituer, peut sembler limitant : les « effets secondaires » (écrire dans des fichiers, etc.) sont souvent ce qu'on veut faire en programmation
  • Moins d'expertes et d'experts, d'outils et de cadres pour la programmation fonctionnelle
  • Courbe d'apprentissage plus abrupte et moins de ressources pédagogiques
  • Utilisation mémoire plus élevée, ce qui limite les applications
Concepts de paradigmes de programmation

Programmation fonctionnelle et programmation déclarative

  • La programmation fonctionnelle est un type de programmation déclarative
  • Programmation déclarative : dire à l'ordinateur quoi faire, pas comment le faire
  • La programmation fonctionnelle n'est qu'un type de programmation déclarative
  • On indique à l'ordinateur quelles fonctions exécuter, pas les étapes exactes à suivre

La programmation fonctionnelle est déclarative

Concepts de paradigmes de programmation

Passons à la pratique !

Concepts de paradigmes de programmation

Preparing Video For Download...