Five interesting facts about Microsoft F#

DevToolsGuy / Wednesday, February 4, 2015

Since its 2005 conception at a Microsoft Research Center, use of the F# language has seen steady growth among developers both in the Open Source Community and for enterprise applications. Because it combines safe, simple and robust coding with the option of application on practically any operating system, it makes for an interesting proposition with developers seeking simple solutions to complex problems.

Many consider F# particularly suitable to scientific or big data based applications, but it is actually good when applied to a whole host of problems and applications. Characterized as a functional programming language with strong typing, it is able to express a developer's ideas in a succinct and declarative way.

However, while growing in popularity, F# is a long way from universal adoption. In this post we’re going to look in more detail at what makes F# different and why it might be you worth getting to know better.

1. The importance of community

F# has been open source for years now and as a result there is a strong, friendly and open community behind the language. Development is supported with numerous groups around Europe, the US and beyond with often hundreds of users in each. Members are working collaboratively on everything from fun to finance

Importantly, the community is active - essential for new users with lots of questions - and it has a pragmatic approach to finding solutions. When dealing with complaints and queries about F#, there’s a dedicated group of individuals making serious efforts to build libraries and to advance and improve the language’s capabilities. The backing of such an active community means problems and limits of the code can be solved more rapidly.

2. Five wins for functional programming

F# has some really nice properties, and these five points capture its unique strengths.

  • Concise. F# is a pretty clean language, without a lot of the excess markup of other languages - forget all those curly brackets and semicolons! It has a powerful inference system and it takes less lines of code to solve the same problem as its sister language, C#
  • Simple. The language is designed to simplify a broad range of programming tasks, including creation and use of complex type definitions and comparison operations.
  • Defensive. Developers can sleep easy in the knowledge that F# offers a powerful type systems and thus helps to prevent a lot of common coding errors. For example null references simply aren’t possible with F# (in C# they can cause all kinds of hard to diagnose bugs) and you can therefore feel confident that your coding will contain fewer problems.
  • Concurrent. A real advantage of F# is that it makes asynchronous and parallel programming easy with a number of useful built-in libraries.
  • Compatible. F# was written, in part, to make up for the failures of C# and other similar functional languages. Nonetheless it still allows for compatibility with C#, among other languages.

3. Practical application in a variety of industries

While it began as an academic research project, F# offers practical applications in numerous industries. It’s being increasingly used in finance, gaming, mobile and web development testing, among others. What makes it particularly applicable in these markets is that it has made the switch from an object-oriented to a functional paradigm, and this is more suitable for advanced calculations and manipulations with data. Enterprise apps, especially those focused on manipulating vast quantities of data, can really benefit.

This makes it a really useful language to learn for developers hoping to work in these fields - a solid knowledge of F# will give you a cutting edge over the competition when applying for jobs in these fields.

4. Universal

F# is a high level language and runs well in Linux, Mac OS X, Android, iOS, Windows, GPUs and all browsers - thanks to the trusty .NET Framework. This makes it a great choice because it makes for one simple code available on a broad range of systems and applications. Your developments will consequently be widely applicable.

5. Fun to use

Besides all these practical considerations, let’s not forget that programming can be fun too! Developers highlight time and time again that F# offers an enjoyable, satisfying and relatively stress-free method of writing code. The fact that F# makes writing easier, more concise and less noisy code means you can spend more time designing your projects and less time tinkering.

Hitting the right note

At Infragistics, we’re passionate about developing tools which are secure, straightforward and widely applicable. F# is therefore music to our ears; as a language which helps developers easily write diverse applications.

In an increasingly complex market, with ever more platforms and operating systems, languages which help simplify the process of development across different systems are definitely appealing. F# looks likely to grow and we’re keeping an eye firmly fixed on it.