Richard Wattenbarger has been writing software professionally for 18 years, and he’s been writing production .NET code since .NET 1 Beta 2. He focuses on bringing best practices in coding and testing to everyday development, and his interests therefore cover the areas of test-driven development, dependency injection, aspect-oriented programming, and functional programming.
As a “mixed-paradigm” but “functional-first” language, F# supports many of the same object-oriented features of C# and VB.NET. You can, in fact, write OO code in F#. The question, though, is why would you want to do so? After all, F# isn’t simply an OO language with functional features tacked on for the sake of convenience.
In this talk, I’ll demonstrate the benefits of taking an idiomatic approach to F#. That is, I’ll show how some common tasks written in an OO fashion can be reconceived in terms of F# language features in order to perform tasks that, in an OO paradigm, might be cumbersome or even impossible.