"Advanced" Functional Programming For The Absolute Beginner

Level : Introductory / Beginner

Functional Programming is hard. It's hard because it's different to what you know. It is not just a different syntax. It's a different way of thinking about programs, algorithms and even data structures.

Functional Programming is also simple. It's mathematical roots make it intimidating, but they give it consistency. There's an elegance that you just don't find in other kinds of programming.

As a programmer you may find that a lot of what you know about programming consists of memorized syntax. For every rule there are strange exceptions and edge cases. A lot of that goes away when you dig into functional programming.

In this talk I'll discuss some supposedly advanced Functional Programming concepts. You'll learn just enough Lambda Calculus and Category Theory to appreciate it. We'll discuss Monoids, Monads, Functors, Endofunctors and a whole lot more.

Best of all, we'll start with two simple concepts that you already understand. Types and Functions.

This talk isn't for people who want to go to work on Monday and start applying what they've learned. The point of this talk is to show you that you have nothing to fear from Functional Programming. To show that while it might be hard, it has all the simplicity you crave from programming.


Richard Dalton

I've spent the last 20 years working as a freelance software developer. Working in Finance, Insurance, Pharmaceuticals, Facilities Management, Plant Hire, Retail and education/e-learning. Most of that work involved Microsoft tools. Beginning with VB, VB.Net, and C#. Over the past two to three years my interests have broadened. I am currently studying and/or working with Google App-Engine, Java, Scala, Python, Django and F#. I've been speaking at DDD events since 2011 and I blog as regularly as I can on all aspects of Software Development, usually just so I don't forget stuff.



Ashic Mahtab

Ashic is a software consultant based in London interesting in data science, machine learning, functional programming, and distributed systems. His experience ranges from real time fault monitoring systems to working for Her Majesty at Parliamentary ICT. When not messing about with code, he can be found getting his fix of MOOCs, or ranting on twitter. He is the founder of the London ZeroMQ User Group. He is also an ASP.NET / IIS MVP since 2009.