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

Why F♯

Answer in a single tweet :

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

Changelog

2025-05-13

2025-04-02

Last updated

Was this helpful?