Real World Functional Programming

Functional Programming in C# and F#

Interested in using functional programming with F# and C# languages on the .NET platform? This page gives you all the resources you need! Including the best-selling book Real-World Functional Programming a recent collection of case studies F# Deep Dives and professional hands-on trainings.

Real World Functional Programming

Why Functional Programming

Here is a few reasons, based on the first chapter of F# Deep Dives that explain why functional programming is worth your attention:

  • Finish on time. Using functional programming, you need to write less code and the transition from early prototype to a complete product is faster. This reduces the time to market for your projects.
  • Write correct code. With F#, you get more safety guarantees. You can better capture your domain and avoid common problems such as null values. As a result, your code is more likely to be correct.
  • Handle complexity. Functional-first languages let you solve complex problems with simple code. Thus, you can use more advanced algorithms and methods, providing better functionality to your users.
  • Efficiency and scalability. Functional style makes it easier to parallelize your code and provides better abstractions for writing reactive and asynchronous computations.

I have now delivered three business critical projects written in F#. I am still waiting for the first bug to come in.

Simon Cousins, UK-based power company

The F# solution offers us an order of magnitude increase in productivity (...) and is critical in supporting our agile approach.

Yan Cui, GameSys

The performance is phenomenal. We can now re-calculate the entire bank portfolio from scratch in less than a second...

Jan Erik Ekelof, Handelsbanken

Professional F# Trainings

If you want to learn more about real-world F# and functional programming from the authors and editors of Real-World Functional Programming and F# Deep Dives then you're in the right place. We recently joined forces under the name fsharpWorks where we are offering trainings and consulting services.

fsharpWorks offers trainings from the world leading F# experts including the first author of Real-World Functional Programming Tomas Petricek, co-editor of F# Deep Dives Phil Trelford, Mathias Brandewinder and Scott Wlaschin. Together, we provide trainings on a wide range of topics including F# and functional-programming, F# for finance, working with data, domain modeling and machine learning.

fsharpWorks logo

Fast Track to F#

This two day Fast Track to F# course is what you need to start using F# in practice and to get the most out of functional and concurrent programming concepts.

The course is designed by F# experts Tomas Petricek and Phil Trelford and builds on their real-world experience with F#. You'll learn how to use F# in production for domain modelling, data processing, concurrency and more!

Custom fsharpWorks Trainings

In addition to our FastTrack to F# and F# in Finance trainings, we are also able to offer other workshops to fit your needs - including Domain Driven Design with F#, Introduction to Machine Learning with F# and other. For more information, see the Workshops page at fsharpWorks.

It's been incredible to have these two prominent members of the F# community as amazing instructors.

Delegate on 15th May 2014

F# in Finance

Functional-first programming in F# is an effective tool for solving complex problems that often arise in financial computing. The strong typing of F# provides important correctness guarantees and means that numeric code written in F# runs efficiently.

Furthermore, a number of case-studies show that F# significantly reduces time-to-market, especially in the financial domain.

Real-World Functional Programming

Functional programming languages are good at expressing complex ideas in a succinct, declarative way. Functional concepts such as "immutability" and "function values" make it easier to reason about code - as well as helping with concurrency. The F# language, LINQ, certain new features of C#, and numerous .NET libraries now bring the power of functional programming to .NET coders.

Written by Tomas Petricek with Jon Skeet, this best-selling tutorial teaches the ideas and techniques of functional programming applied to real-world problems. You'll see how the functional way of thinking changes the game for .NET developers. Then, you'll tackle common issues using a functional approach. The book will also teach you the basics of the F# language and extend your C# skills into the functional domain.

F# Deep Dives

F# Deep Dives presents a collection of real-world F# techniques, each written by expert practitioners. Each chapter presents a new use case where you'll read how the author used F# to solve a complex problem more effectively than would have been possible using a traditional approach. You'll not only see how a specific solution works in a specific domain, you'll also learn how F# developers approach problems, what concepts they use to solve them, and how they integrate F# into existing systems and environments.

The editors Tomas Petricek and Phil Trelford are joined by F# experts Chris Ballard, Keith Battocchi, Colin Bull, Chao-Jen Chen, Yan Cui, Johann Deneux, Kit Eason, Evelina Gabasova, Dmitry Morozov, and Don Syme.

F# Consulting and Support

At fsharpWorks, we believe strongly in the benefits of using F#, but we also understand the issues and challenges around adding F# into your software development process. That's why we offer consulting, support and other services to make your use of F# as painless as possible.

How can we help

We offer a complete range of services including training, F# consulting, and full project development. We'll work with you to find the most effective way of collaboration. To give you just a brief taste, here is a number of options:

  • Training + prototyping. Start with a two-day training to get your team up to speed with F#. After that, we'll work with you and your team to build an initial prototype and find the right architecture for your system.
  • Open-source collaboration. We strongly believe in open-source and we are contributing to a number of key F# open-source projects. We can help you develop the tools and libraries you need as high-quality F# projects.
  • F# support. Do you want to start using F#, but need a guarantee that your project will go well? We give you a guaranteed response time and we will resolve any difficulties that you may encounter along the way.

fsharpWorks logo

Get in touch!

   Go back to the top