1 Introducing F#
This chapter covers
- Learning what F# is and isn’t
- Why you should be interested in using F#
- When is a good time to use F#
- Understanding what this book will and won’t teach me
- Understanding the mental model behind F#
1.1 What is F#?
F# is a general-purpose programming language that’s designed to build systems that are robust, succinct and performant across Windows, Mac and Linux.
It has a lightweight syntax, yet a powerful type-system and compiler. This makes it a compelling choice for writing applications, as it enables developers to rapidly model real-world systems in a way that does what they intend. It’s also an opinionated language with a set of characteristics that it is optimized towards.
And as F# runs on the modern, lightweight and cross-platform .NET Core runtime, it has a large, mature ecosystem of free and commercial tools and libraries, ranging from web servers, database access, cloud, data and analytical libraries, actor frameworks, and more. This means that you won’t have to create entire platforms yourself, but instead re-use existing battle-tested components that are already out there, leaving you to focus on delivering business value. You can seamlessly interoperate with C# code, creating hybrid F# / C# solutions if required – so if you’re already using .NET, much of what you already know about the platform will continue to apply.