F# is an open, cross-platform language and you can read testimonials about how F# is used in the software industry at the pages of the F# Software Foundation, a major community organization for the F# language.
The Visual F# Tools team at Microsoft contribute to F# through enterprise-ready tooling in Visual Studio 2013. We recommend the Visual F# Tools as the best, most productive and highly stable route for functional-first programming in the Windows ecosystem. You can find out more about functional-first programming in industry in the recent talk Succeeding With Functional First Programming in Industry at NDC Oslo, and at the excellent website F# for Fun and Profit (external link). You can also learn F# in your browser using Try F#.
Functional-first programming is a general-purpose programming technique represented by langauges such as Clojure, Scala, Haskell, F#, OCaml and is particularly suited to analytical programming tasks such as calculation engines, data-science programming, ETL pipelines and general data-manipulation. While these problems can be solved using other programming paradigms, they are particularly amenable to functional-first programming. Functional-first programming uses functional programming as the initial paradigm for most purposes, but employs other techniques such as object-oriented programming and state manipulation as necessary.
If your organization decides to invest in functional-first programming, then we recommend you use the Visual F# Tools from Microsoft.
The F# community contribute a range of tools for use with F#. Some incorporate F# language tooling and can be UI tools such as code visualizers, editing tools, or new ways of executing, hosting or interpreting F# code, or indeed whole new F# editing experiences. For example, the following F#-related tools are made by the F# community (some are commercial, some are open):
- the FCell tools for integrating F# with Microsoft Excel
- the F# bindings for OSX, Android and iOS programming with Xamarin Studio
- the WebSharper tools for F# HTML5 web programming
- the Tsunami IDE tools for F#
- the Fantomas code formatter
- the Emacs mode for F#
These and others make F# programming available for a broad range of situations, including many not covered by the Visual F# Tools from Microsoft.
Other libraries and tools contributed to F# include:
- the FsEye visual object tree inspector for the F# Interactive
- the FSharp.Data library for ultra-simple JSON, XML, REST and other data programming
- the Deedle library for Exploratory Data Frame and Time Series programming with F#
- the FSharp.Charting library for 2D entry-level charting, particularly on Windows
- the FAKE tool – F# Make – A DSL for build tasks
- the ExtCore library – an extended core library for F#
- the FsCheck library for randomized unit testing with F#
- the Fog library for using Windows Azure tables and storage with F#
If you want to use F# 3.1 today on Windows, you should use one of the installations of Visual Studio 2013 available at the F# MSDN Developer Center. For free Visual F# tools for Windows you should currently continue to use F# 3.0 in the Visual Studio 2012 F# web tools (we are actively pursuing an F# 3.1 update for this).
If you would like to join the F# Community and help improve F# tooling and across multiple platforms, you can join the discussion group. The F# community do most development on GitHub – they take the code drops of the Visual F# Tools team from CodePlex and incorporate them into the GitHub repository.
This source code drop is under the Apache 2.0 license and a reference copy is published on CodePlex. It has already been integrated into the fsharp_31 branch of the primary repository of the F# community on GitHub.
As this release is a code drop, it does not contain binaries for the release.
The Visual F# Tools team