Summary
F# is a strongly-typed functional programming language that targets the .NET runtime. Initially developed by Don Syme and James Margetson at Microsoft Research, the language may become a .NET mainstay with the formation of a new Microsoft group dedicated to F#.
Advertisement
F# is a strongly-typed, functional programming language designed by Don Syme and James Margetson. Initially a project at Microsoft's research lab, F# received the blessing of Microsoft's developer tools division to evolve into a full-fledged language supported on the .NET runtime.
The Corporate VP for the Microsoft Developer Division, S. Somasegar, has announced the formation of a team to take F# forward. This will be a partnership with the current F# team at Microsoft Research. This is a huge step for us and we believe a great step forward for programming more generally...
Looking ahead, we'll be initially focused on putting the finishing touches on "V1" of the language design, improving the compiler, tools and Visual Studio project system, completing the language specification and augmenting F# with the libraries and tools needed to make it truly powerful in application areas particularly suited to functional programming.
Somasegar gave his reasons for graduating F# from a research environment into a production-ready language:
F# stems from the functional programming tradition (hence the âFâ) and has strong roots in the ML family of languages, though also draws from C#, LINQ and Haskell. F# is designed from the outset to be a first class citizen on .NET. This means that F# runs on the CLR, embraces object-oriented programming, and has features to ensure a smooth integration with the .NET Framework...
Our interest in F# is motivated by several factors... We aim to continue the flow of good ideas from functional programming world into mainstream development. Furthermore, the somewhat mathematical slant of functional programming just seems naturally appealing to professionals whose primary domain is described with mathematical notation - domains such as financial, scientific and technical computing. On top of the syntactic appeal, the strong type system yields the sort of guarantees which are often crucial in these domains, and enables a superb tooling experience through Visual Studio.
Another motivation is to continue to invest in making the .NET Framework a great choice in academia. Many computer science departments around the world teach functional programming languages today. We believe that through F# and languages such as IronPython and IronRuby we can help offer students and educators choices beyond the current mainstream and enable the use of these languages across the curriculum. This helps educators have the option to use Visual Studio as a consistent tool set from course to course.
What do you think of F#, and of functional languages on the .NET runtime?
F# is cool. Smart folks working on neat things, helping to push language design and implementation ahead.
So is Scala. I wish F#'s license were more easily understood and Open, like the Scala one. Or I wish Scala were all fired up to easily and robustly target MSIL.
Exciting days. This is the first twinge of excitement I've had in programming since Java 1.1 and I was buying all those books on Java/OO programming and patterns. Perhaps this will inspire Sun to do something radical in the same way that Java inspired Microsoft to produce C#.