F# is a strongly typed, functional-first programming language that lets you solve complex problems by writing simple code. Based on and built on the .NET Framework, F# offers good interoperability, portability, and run-time speed, as well as the “Five Cs”—conciseness, convenience, correctness, concurrency, and completeness.
F# was initially available only on Windows, as a Microsoft Research project, but it’s now a first-class language on a number of platforms. You can use F# on the Mac and Linux with tool support in Xamarin Studio, MonoDevelop, Emacs, and others; on Windows with Visual Studio, Xamarin Studio, and Emacs; and on Android and iOS devices and on the Web using HTML5. In addition to general purpose programming, F# is applicable to GPU code, big data, games, and much more.
Why use F#? Let me give you 14 reasons.
F# is interactive
One of the advantages of F# is that it has an interactive REPL (read, evaluate, print, loop) where you can try out code, as shown in the screen image below. Clockwise, from the top left, we are seeing F# Interactive windows from Visual Studio in Windows, from running in Chrome, and from Xamarin Studio running on Mac OS X. The
;; tells F# Interactive to evaluate what you’ve typed; on TryFSharp the “run” button sends the same signal. Using a REPL to compile and test code before it goes into a full program both speeds up development and reduces bugs.