Our system is mission critical - major organisational activities depend on it, so it must be fast, always available and fault tolerant. It is written in F# but would it make a difference if it was written in another language? This talk is about why F# is an essential part of the project success.
It's been about three years we began our big rewrite: tired of mutable data structures and thread synchronisation, we decided to use F# and actor model (Akka.NET) for the next generation of media file distribution engine, developed in Norwegian Broadcasting Corporation (NRK). Hundreds of gigabytes of data are going through our application every hour with high demand for performance, scalability and failure recovery.
The fact that our project has for a long time been in production can identify it as success, but is choice of F# an essential part of this success? Could we achieve similar development speed and operational stability if we settled for OOP (and C# on .NET platform)?
We believe that F# provides a set of defaults that can give significant advantages for development with short deadlines and continuous deployment, and we are going to share our experience and lessons learned in this talk.