Definition of the Language
F#, pronounced as F sharp, is a strongly typed programming language. The language allows for more than one programming styles which makes it a multi-paradigm language. F# encompasses functional, imperative and object oriented programming techniques. The F# language belongs to the Microsoft .NET language family.
Another major characteristic of F# is the ability to utilize the libraries of all the .NET languages. The availability of a vast library base makes it easier for this language to take complex situations and turn them into executable code. This adds to the ability of the language to operate complex calculation engines and data analysis.
This has made the language very popular around the business world. There is also an online F# community which provides useful answers to questions regarding problems faced by the users worldwide.
History of F#
F# was developed in 2005 by Microsoft research. The language, essentially, was a .Net implementation of OCaml since it combined the syntax and power of functional language with the thousands of library functions available with all .NET languages.
After the initial launch of the language in 2005 under the Apache license, it has gone through many changes and the developers have made various versions that were better in many aspects than the previous one. Launching under the Apache license has made the language open source which means it can be used, modified and distributed without paying royalties to the developer.
The first version of F# was 1.x which was launched on May 2005. This version was only compatible with windows and deployed a .NET 1.0-3.5 runtime. The major weakness of this version was the narrow platform base. This issue was tackled in the successive versions and Linux and OS X were added to the supported platforms in version 2.0 which was launched in April 2010.