Mads Torgersen and Philip Carter, respectively C# and F# program managers at Microsoft, published a post promoting the use of F#. The post is a follow-up to a presentation on F# at Build 2017. They talked about how Microsoft wants to remove obstacles to F# adoption and the F# improvements Visual Studio 2017 brings.
Torgersen starts by stating they want to adress thoughts people have about adopting F#. The two mains concerns they frequently hear are:
- We’re not sure Microsoft is behind F#.
- Tooling is not on par with C#.
Microsoft worked on addressing these points over the last year. One action was to publish Microsoft’s strategy for the .NET languages it sponsors, where F# is strongly endorsed:
We will enable and encourage strong community participation in F# by continuing to build the necessary infrastructure and tooling to complement community contributions. We will make F# the best-tooled functional language on the market, by improving the language and tooling experience, removing road blocks for contributions, and addressing pain points to narrow the experience gap with C# and VB. As new language features appear in C#, we will ensure that they also interoperate well with F#.
As for the second major hurdle for F# adoption, Microsoft worked on improvements released in Visual Studio Visual Studio 2017. The autocompletion is one improved area, where the IDE now suggests module to open while typing in a function name.
The rename refactoring is another new feature of Visual Studio 2017. Rename refactoring for F# is one of the concrete results from implementing the Roslyn workspace API in the F# compiler. The feature in visual studio is the same for both language, the workspace API abstracting the language inplementation details.
Carter outlines the work done by the F# community members, who are contributing to all areas of F# including the compiler. The F# community is also described as a pioneer for open source at Microsoft. For example, the F# compiler is open source since 2010 while the C# compiler is open source since 2015.
F# is well suited for some workloads such as the Cloud. This aligns well with where Microsoft is going in general, pushing towards the cloud. Torgersen also says they see a a lot of potential for growth. A lot of users would like to use F# if they could.
Documentation was also improved as part of the larger goal to facilitate F# adoption. Several getting started guides are available: