Introduction
F# est un langage de programmation fonctionnelle moderne développé par Microsoft sur la plateforme .NET. Il combine la puissance de la programmation fonctionnelle avec l'écosystème .NET, ce qui le rend idéal pour le traitement de données, les applications scientifiques et les systèmes backend. En 2026, F# continue d'évoluer avec une excellente intégration dans Visual Studio et VS Code. Ce tutoriel vous permet de créer une application console complète qui calcule des statistiques sur une liste de nombres. Vous apprendrez les concepts fondamentaux comme les fonctions, les listes immuables et le pattern matching tout en manipulant du code réellement exécutable.
Prérequis
- .NET SDK 8.0 ou supérieur installé
- Un éditeur de code (Visual Studio Code avec l'extension Ionide recommandé)
- Connaissances de base en programmation (variables, fonctions)
Initialiser le projet F#
dotnet new console -lang F# -o MonPremierProjetFsharp
cd MonPremierProjetFsharpCette commande crée un projet console F# complet avec la structure de dossiers standard et le fichier Program.fs prêt à être modifié.
Afficher Hello World en F#
printfn "Bonjour depuis F# en 2026 !"
[<EntryPoint>]
let main argv =
printfn "Hello, World !"
0Le code affiche un message simple. La fonction main avec l'attribut EntryPoint est le point d'entrée standard d'une application console F#.
Création d'une fonction de calcul
Nous allons maintenant ajouter une fonction qui calcule la moyenne d'une liste de nombres. F# encourage l'immuabilité et les fonctions pures.
Ajouter la fonction moyenne
let calculerMoyenne (nombres: float list) =
if List.isEmpty nombres then 0.0
else List.sum nombres / float (List.length nombres)
[<EntryPoint>]
let main argv =
let donnees = [12.5; 18.0; 9.75; 15.25]
let moyenne = calculerMoyenne donnees
printfn "La moyenne est : %.2f" moyenne
0Cette fonction pure prend une liste immuable et retourne la moyenne. Elle gère le cas d'une liste vide pour éviter les erreurs de division.
Utiliser le pattern matching
let analyserResultat moyenne =
match moyenne with
| m when m >= 15.0 -> "Excellent"
| m when m >= 10.0 -> "Correct"
| _ -> "Insuffisant"
[<EntryPoint>]
let main argv =
let donnees = [12.5; 18.0; 9.75; 15.25]
let moyenne = calculerMoyenne donnees
let resultat = analyserResultat moyenne
printfn "Résultat : %s" resultat
0Le pattern matching avec gardes permet d'écrire du code très lisible et exhaustif pour les différentes plages de valeurs.
Exécuter le programme
dotnet runLa commande compile et exécute le programme. Le résultat affiche la moyenne et l'analyse correspondante.
Bonnes pratiques
- Préférez toujours les fonctions pures et les données immuables
- Utilisez le pattern matching au lieu de if/else complexes
- Nommez vos fonctions de manière descriptive en français ou anglais
- Testez vos fonctions avec des listes de tailles différentes
- Gardez votre fonction main la plus simple possible
Erreurs courantes à éviter
- Oublier de gérer le cas de liste vide dans les calculs statistiques
- Utiliser des variables mutables par habitude au lieu de let bindings
- Ignorer les warnings du compilateur F# qui signalent souvent des bugs potentiels
- Ne pas typer explicitement les fonctions quand le type inference devient ambigu
Pour aller plus loin
Approfondissez F# avec nos formations dédiées à la programmation fonctionnelle et au développement .NET. Découvrez nos formations Learni.