Presentation
F♯ Training, covering versions 5.0 to 9.0 (2021-2024)
Slides
This git-book is here to supplement training sessions I've conducted using slides located in this repository:
Written in markdown with marp / marpit
Outputs available in HTML and PDF files
The theme can be customized: it's "just" CSS and PNG files.
Author
Romain DENEAU
Senior Developer F♯ C♯ TypeScript
Github /rdeneau
Linked-in romain-deneau
Twitter/X@DeneauRomain
Why F♯

In detail :
Multi-paradigm language with a strong functional orientation
Functional programming (FP) principles: immutability and composition
Building blocks: functions and algebraic data types (ADT)
"Fun" ! Very pleasant to write and read
Expressive and concise (not very verbose syntax)
Sensitive to indentation → easy to read
Strong static typing but it's almost seamless thanks to type inference
Language entreprise-friendly
Runs on the .NET platform → high performance, easy interop with C# projects, .NET ecosystem and libraries
Very good tooling: Visual Studio, VsCode, Rider
Robust code: predictable and reproducible results (immutability, structural equality, no nulls, exhaustive pattern matching)
Interactive programming: check code by evaluating it in the FSI console
Narrowed community but strong and friendly
F♯ compared to other back-end functional languages
Its syntax is not hybrid, unlike Scala and Kotlin (mixing OOP and FP)
Easier to learn than Haskell or OCaml (but with fewer FP features, partially compensated for by OOP features)
Static typing, unlike Closure (and far fewer brackets 😜)
Convention
📍 → concept addressed later, generally with the associated link
💥 → compilation error or runtime exception
🚀 → more advanced chapters
🍔 or 🎲 → Quiz
📜 → Summary
Target audience
C# Developers - .NET SDK installed on your machine Notions in JavaScript/TypeScript can be helpful when we compare the languages
Perform the training yourself
As a F# developer in a .NET team using only C#, feel free to use these materials (both git-book and slides) to train your team.
💡 The theme can be customized: it's "just" CSS and PNG files.
Changelog
2025-05-13
Dedicated page to cover everything regarding Exceptions
Misc precisions regarding Asynchronous programming
2025-04-02
Translation from French
Last updated
Was this helpful?