Functional Programming for the non Category Theorist

By Pieter Koornhof

Elevator Pitch

Functional Programming! Magical math and unicorns meant for the brains of enlightened academics? In this talk I will show you the simple concepts on which the FP house is built and how you can leverage these principles in your everyday coding life, without having to be afraid of monads and monsters.

Description

For many, Functional Programming is governed by the following rules

  • You needed to understand complex math and category theory.
  • Functional is only suited for complex financial and mathematical systems.
  • You need to learn a functional language to be able todo functional programming.

It are these misconceptions that renders the belief that Functional programming is best left to the academics and that it is not suited for our everyday line of business applications. But if you look closely, you would see that everyday things like sql, react, redux, domain driven design and test driven development all have functional programming at their core.

My goal with this talk is to break down the above misconceptions and bring forward the core principles that functional programmers grow to love and make that accessible to everyone. I would like to show you how you can leverage these concepts in your everyday coding to make you a better all round developer, using any programming language.

Questions I will answer in this talk

  • Can normal devs can be functional too?
  • What is a functional programming language?
  • What are the core functional principles? (hint: purity, immutability and data first)
  • Why are these principles so great and useful?
  • How do I do basic coding things like dependency injection and for loops in a functional way?
  • OK I am interested but where do I start and how do I add value in my current non FP job?

Notes

Why am I the best person to talk on this? Because I am most definitely not a mathematician or academic and I don’t even grasp category theory. I build websites and backends that sell life insurance using FP on a daily basis. I value clean code and simplicity and I believe that FP enables you todo both those and more people should know about that! I have done talks at jsinsa, Developer Usergroup pta and jhb, Entelect Dev Day and many internal talks whilst working at Entelect. No technical requirements other than showing some slides.