This event has ended. Visit the official site or create your own event on Sched.

Have you got a ticket for a workshop? It’s time to reserve the seat!

In addition to great guest speakers, this year we will host a ton of engaging and up-to-the-moment workshops on a whole range of topics.

There are 10 different workshop scheduled on Nov 18 & 19 - check it out and pick yours.

Back To Schedule
Sunday, November 19 • 9:00am - 5:00pm
Mark Seemann @ploeh - From design patterns to category theory LIMITED

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Limited Capacity seats available

Would you like to write readable code? Code that you can understand a year later? Code that your co-workers can understand?
If so, you need to use good abstractions in your source code. What makes an abstraction good? How do you arrive at good abstractions?
Most programmers try to ‘invent’ abstractions from scratch. This is an elusive goal. It requires a level of foresight rarely available. What if, instead, you could use existing, universal abstractions?
For decades, programmers have dreamt of being able to assemble software from building blocks, like Lego bricks. In order to do this, such building blocks must be composable, like Lego bricks. What makes an abstraction composable? It turns out that category theory can teach us about composability. Furthermore, it turns out that some of the most important structural design patterns in the Gang of Four book are special cases of categories.
Category theory is a branch of mathematics, and so includes objective laws. You can use those laws to determine whether an abstraction is composable – even in object-oriented programming!
Target audience and goal of the workshop
 In this workshop, you’ll learn some objective criteria to determine whether a design is composable. No special background in mathematics is required. 

The workshop will include a combination of lecture and exercises, including hands-on programming exercises. You’ll need to bring your own programming environment capable of compiling and running C# code. The fanciest C# features you’ll use is generics, so programmers with only passing familiarity with C# may be able to participate as well.
This workshop is for object-oriented programmers curious about category theory and functional programming. You’ll see F# and Haskell code examples during the workshop, but you don’t have to know these language; you’ll learn what you need along the way.
Successful participation in the workshop should enable you to use universal abstractions in your source code. As always, no silver bullet is implied. You will learn about universal abstractions, but it will not magically make all your code instantly perfect.

avatar for Mark Seemann

Mark Seemann

Creator of Autofixture, Seemann
Mark Seemann helps programmers make code easier to maintain. His professional interests include functional programming, object-oriented development, software architecture, as well as software development in general. Apart from writing a book about Dependency Injection he has also... Read More →

Sunday November 19, 2017 9:00am - 5:00pm EET
2. Beta