F# : Programmation fonctionnelle
Résumé
Concevoir un traitement algorithmique relevant de la programmation fonctionnelle, dans le contexte d'une application .NET.
Objectif
A l’issue de la formation, le stagiaire aura acquis les connaissances et compétences pour concevoir un traitement algorithmique relevant de la programmation fonctionnelle, dans le contexte d’une application .NET.
Concrètement, le stagiaire saura mettre en œuvre :
- Fondamentaux du langage F#
- Utilisation de Visual Studio et de son débuggeur
- Modélisation d’un problème sou forme fonctionnelle
- Intégration dans une application .NET écrite en C#
- Parsing de chaînes de caractères à l’aide de combinateurs
Public concerné
Cette formation s’adresse aux développeurs professionnels ou aux étudiants avec une expérience en programmation, en C# ou avec d’autres plateformes (Java, C++…).
Le stagiaire doit avoir acquis les fondamentaux des langages structurés (flot de contrôle, fonctions, structures de données) et orientés objets (classe, champ, méthode). Des notions plus avancées d’algorithmique (récursivité, complexité) sont recommandées. Une expérience avec un environnement de développement intégré (Visual Studio, Eclipse…) est requise.
Contenu
Introduction à la programmation fonctionnelle et à F#
- Qu’est-ce que la programmation fonctionnelle ?
- Comparaison avec la programmation impérative
- Les langages fonctionnels
- Les environnements de développement
Bases du langage F#
- Les fonctions : application partielle, curryfication, évaluation paresseuse
- Les types : tuples, unions, enregistrements, listes
- Pattern matching
- Fonctions récursives, récursivité terminale
- Exemples : suite de Fibonacci, tours d’Hanoï…
Eléments impératifs
- Exécution séquentielle de code
- Valeurs mutables, boucles
- Entrées et sorties
- Gestion des exceptions
F# et l’éco-système .NET
- Architecture d’un projet, modules
- Programmation orientée objets
- Utiliser une bibliothèque F# depuis C#
Techniques avancées en F#
- Programmation asynchrone avec les workflows asynchrones
- Programmation scientifique et unités de mesure
- Accès aux bases de données et types providers
- Computation expressions
Application : calculatrice en ligne de commande
- Exemple : à partir de la chaîne de caractère « (61 + 2) * 7 », calculer la valeur 441.
- Principe de fonctionnement d’un parseur
- Analyse lexicale, analyse syntaxique
Modalités
Mode d’intervention
En sous-traitance auprès des instituts de formation certifiés Qualopi, en inter- ou intra-entreprise.
Le programme présenté est adaptable à un besoin spécifique après audit.
Travaux pratiques
L’ensemble de la formation s’articule à parts égales entre exposés techniques, démonstrations en direct et travaux pratiques.
Le stagiaire reçoit durant la formation les supports d’exposé ainsi que le code source des démonstrations et solutions de travaux pratiques.
Moyens techniques
La formation est proposée en vidéo-conférence. Le stagiaire doit s’équiper du matériel et du logiciel nécessaire.