---
description: Learn FP principles and apply them in your favorite language
---

# Functional Programming made easy in Java & C\#

Workshop created with [Alexandre Grison](https://twitter.com/algrison)

## Objectives

* Demystify together what is Functional Programming (FP)
* Deep dive into FP paradigms like monads, pure functions, high order functions, and much more.
* Understand why and how apply those principles in Object Oriented languages like java (with vavr) & C# (with language-ext).

In this workshop we will demonstrate how to write Functional code that is:

* More robust
* Easier to read
* Easier to maintain

## Support

{% hint style="success" %}
The coding part consists of _**fixing failing tests**_. Exercises are explained in the comment of the tests. Our solution in both languages are in the "solution" branches.
{% endhint %}

* For Java : [https://github.com/ythirion/vavr-kata](https://github.com/ythirion/vavr-kata)
* For C# : [https://github.com/ythirion/language-ext-kata](https://github.com/ythirion/language-ext-kata)
  * There is a third branch called "solution-async" that demonstrates the us of language-ext in an async

{% embed url="https://speakerdeck.com/thirion/functional-programming-made-easy-in-java-and-c-number" %}
