Syme: It reduces the time to deployment for analytical software components. You find that kind of programming, particularly in finance and insurance industries, but also in a wide range of scientific or data-oriented or data-intensive programming domains. Microsoft embraced F# and contributed to F# because we want a top-notch functional programming experience on our platforms. Microsoft contributes three things to F#: One is the Visual F# tools, which come with Visual Studio. Microsoft Research contributes the language design to F#, and we also contribute the Try F# site that has just been released this week.
InfoWorld: Is F# basically for parallel programming?
Syme: Yes. It's one of the things that F# is very good at, and it comes from this functional, stateless approach to programming.
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.