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 F# Works where we are offering trainings and consulting services.

F# Works 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.

F# Works 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 F# Works 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 F# Works.

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 F# Works, 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.

F# Works logo

Get in touch!

   Go back to the top