> For the complete documentation index, see [llms.txt](https://elixir.petrolidas.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elixir.petrolidas.com/why-functional-programming.md).

# Why functional programming?

Why do I like functional programming?

For some reason, I really love functional programming. Although my whole career has been involving object oriented programming and the imperative paradigm: Delphi, C#, Java, Ruby etc.

Ever since I met Elixir, something is attracting me to it. The idea of immutability with functions that always return the same output given the same input seems so good.

But overall, I wasn't sure why I was drawn to this.

### My 1998 thesis

Then I remembered my 1998 thesis:

<figure><img src="https://722931016-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDUq5E45vIeUDn4lY3Psn%2Fuploads%2FBt6aWboQUu2jCtlOlSVH%2Fpamiridis-ztrans.jpeg?alt=media&amp;token=19b77688-4a53-4af3-a42b-270f4736a526" alt=""><figcaption><p>ZTrans: A Semi-Automatic Translator from Z to SML</p></figcaption></figure>
