École Informatique 2019 - Programmation fonctionnelle

Europe/Paris
Centre J. Bosco

Centre J. Bosco

Lyon
Description
"Utilisation de la programmation fonctionnelle dans nos environnements scientifiques"

Cette formation est centrée sur l'appliquation des principaux concepts de la programmation fonctionnelle aux langages utilisés dans nos environnements de travail courants, et de voir comment améliorer, de cette façon, la qualité de nos développements logiciels.

Objectifs :

  • Introduction aux concepts de la programmation fonctionnelle
  • Appliquer ces concepts aux langages procéduraux largement utilisés dans nos environnements
  • Comprendre comment cette mise en œuvre peut améliorer la qualité de nos développements logiciels

Programme :

  • Maitriser les principaux concepts de la programmation fonctionnelle
  • Utiliser les idiomes fonctionnels pour améliorer son code dans nos langages habituels
  • Identifier des motifs d’utilisation
  • Connaitre les règles de bonnes pratiques

Modalités pédagogiques :

  • La formation sera constituée de cours et de travaux dirigés
  • Les participants pourront choisir 2 langages parmi 3 ( C++ / Python / JVM (Java ou Scala)) pour des ateliers illustrant l’utilisation de concepts de la programmation fonctionnelle dans ces langages
  • Les exercices seront développés sur les ordinateurs portables des stagiaires
Thierry Ollivier
    • 10:00 AM
      Pause café
    • 1
      Organisation de l'école et logistique
      Speaker: Thierry OLLIVIER (IPNL)
    • 2
      Objectifs de l'école et fonctionnement des TD
      Speaker: Antoine Pérus (Cnrs/In2p3/Lal)
    • 3
      Concepts de la programmation fonctionnelle (1/5)
      Speaker: Gabriel Scherer (INRIA)
    • 12:30 PM
      Déjeuner
    • 4
      Concepts de la programmation fonctionnelle (2/5)
      Speaker: Gabriel Scherer (INRIA)
    • 3:30 PM
      Pause café
    • 5
      Concepts de la programmation fonctionnelle (3/5)
      Speaker: Gabriel Scherer (INRIA)
    • 6:30 PM
      Apéritif
    • 7:00 PM
      Diner
    • 6
      Concepts de la programmation fonctionnelle (4/5)
      Speaker: Gabriel Scherer (INRIA)
    • 10:30 AM
      Café
    • 7
      Concepts de la programmation fonctionnelle (5/5)
      Speaker: Gabriel Scherer (INRIA)
    • 12:30 PM
      Déjeuner
    • 8
      Idiomes de programmation fonctionnelle pour les langages courants 1/2
      Speaker: Gabriel Scherer
    • 3:30 PM
      Café
    • 9
      Idiomes de programmation fonctionnelle pour les langages courants 2/2
      Speaker: Gabriel Scherer
    • 7:00 PM
      Diner
    • 10
      Atelier C++
    • 11
      Atelier Java/Scala
    • 12
      Atelier Python
    • 10:30 AM
      Café
    • 13
      Atelier C++
    • 14
      Atelier Java/Scala
    • 15
      Atelier Python
    • 12:30 PM
      Déjeuner
    • 16
      Atelier C++
    • 17
      Atelier Java/Scala
    • 18
      Atelier Python
    • 3:30 PM
      Café
    • 19
      Culture Fonctionnelle : Haskell
      Speaker: Alexandre Delanoë (ISCPIF)
    • 7:00 PM
      Diner
    • 20
      Retour d'expérience Haskell
      Speaker: Alexandre Delanoë (ISCPIF)
    • 21
      Atelier C++
    • 22
      Atelier Python
    • 10:30 AM
      Café
    • 23
      Atelier C++
    • 24
      Atelier Python
    • 12:30 PM
      Déjeuner
    • 25
      Atelier C++
    • 26
      Atelier Python
    • 3:30 PM
      Café
    • 27
      Culture Fonctionnelle : Monads
      Speakers: Alexandre Delanoë (ISCPIF), Gabriel Scherer (INRIA)
    • 7:45 PM
      Bouchon lyonnais
    • 28
      Property based testing

      Comment tester des fonctions en se basant sur leur propriétés? Après l'introduction en OCaml vue en début de semaine, l'implémentation et les tests dans le language de son choix : Scala, Python (travail libre, mais guidé par les intervenants).

    • 10:45 AM
      Café
    • 29
      Property based testing

      Comment tester des fonctions en se basant sur leur propriétés? Après l'introduction en OCaml vue en début de semaine, l'implémentation et les tests dans le language de son choix : Scala, Python (travail libre, mais guidé par les intervenants).

    • 12:30 PM
      Déjeuner
    • 30
      Culture fonctionnelle : F#

      Depuis quelques années la stratégie de Microsoft a fait un virage à 180° sur plusieurs éléments clefs de son écosystème de développement.
      Les deux points à retenir :
      - .net core qui a complètement rebattu les cartes pour l'architecture .NET, maintenant 100% Open Source et multiplateforme.
      - D'autre part, le langage F# (qui fête bientôt ses 20 ans d'existence) qui s’intègre totalement dans une approche dite « pragmatique » de la programmation fonctionnelle et propose un certains nombre de fonctionnalités uniques dans ce domaine.

      Nous proposons de passer en revue ces différents aspects, et de les illustrer, articulés ensemble, par des démonstrations dans un IDE (Visual Studio Code) sur un exemple concret.

      Speaker: Francois David Collin ({CNRS}UMR5149)
    • 31
      Bilan de l'ANF