InfoWorld: Are there open source and commercial versions of F#?
Syme: When you use F# on a Mac or Linux system, you normally use the open source version of F#. When you use it on a Windows system, I think it would be normal to use the Microsoft implementation of F# and the Visual F# tools. You can use the open source version on the Windows system, as far as I know. You can, but that is not normally the way that people use it.
InfoWorld: You mentioned support for F# in Visual Studio. Are there any other tools out there besides Visual Studio that you can use to develop with F#?
Syme: The F# Software Foundation provides tooling for MonoDevelop, which is a cross-platform IDE, and they also provide tools for Emacs, and they have a lot of other tooling, slightly less integrated tooling there for other editing environments.
InfoWorld: How much development has already been done with F#, and can you name any big-name programs or websites that have used it?
Syme: There are many users of F#. For instance, there are 4,000 questions on StackOverflow about F#. Those questions indicate quite a lot of users of the language.
In terms of people using it, we often talk about a system that was done by sort of the Microsoft advertising platform, which was a machine learning system that used F# as the implementation language. This was from the core algorithm to decide which ads to serve in response to a search requests for questions coming in from Bing or the like. And these are really critical core algorithms and very much the kind of programming that we associate with F#, where you might have some core algorithmic code or core data analysis code written in the language.
Then around the outside, it would be deployed in some larger system because one of F#'s main benefits is it has very good interoperability with systems like .Net and C#. You can take F# and integrate it into a larger system. That system was very good. There are case studies on the Microsoft site from Grange Insurance, and there are case studies from a major bank in Europe, which has over 100 people writing their quantitative finance models in F#.
InfoWorld: Would you use F# for a Web program?
Syme: You would use F# for server-side Web programming, absolutely. The Visual F# tools aren't particularly aimed at client-side Web programming, but there are other F# tools provided by third-party companies. I point you to IntelliFactory, who do a tool called WebSharper [for HTML5 Web programming].
InfoWorld: How does Microsoft make money from F#?
Syme: It's fairly well understood that Microsoft invests in languages because we have platforms that have programmability requirements. We invest in F# because that helps make our platforms better, and through our platforms we get revenue.
InfoWorld: Is there anything else that's really critical to the F# game plan that you want to talk about?
Syme: One of the things I'm really excited about with Try F# is not just that people can learn F#, but that they see groundbreaking ideas in how data is integrated into the language in F# 3.0. People these days want to use something that's very polished, where they can play with the ideas and see what a difference it makes to their programming. And these things can disseminate very broadly.
For instance, we did asynchronous programming in F# 2.0, and that has now progressed into C# 5.0. That is just wonderful to see that these ideas are progressing out from the cutting edge high-productivity functional languages into the broader programming industry. To me, as a researcher, that is also just a great success.
This article, "Microsoft to big data programmers: Try F#," was originally published at InfoWorld.com. Follow the latest developments in business technology news and get a digest of the key stories each day in the InfoWorld Daily newsletter. For the latest developments in business technology news, follow InfoWorld.com on Twitter.