F# 2.0 Released

[ Note, if you want to use the free download of F# 2.0, you should use the August 2010 release of the F# 2.0 free download MSI and ZIP. This release extends the existing availability of free-for-use F# programming tools to .NET 4.0. ]

 

Today sees the launch of Visual Studio 2010, at five launch events around the world, as announced by Bob Muglia, Jason Zander and S. Somasegar, and presented live today in Las Vegas. Visual Studio 2010 includes the official version 2.0 of the F# language. As is our custom on the F# team, we also release a matching MSI and ZIP of F# 2.0 (for use with Visual Studio 2008 and as a standalone compiler on a range of platforms)

Today represents the culmination of 7 years of work on the language at Microsoft Research, and, more recently, the Microsoft Developer Division. I am immensely proud of what we’ve achieved. F# brings a productive functional and object-oriented programming language to .NET, extending the platform to new audiences in technical, algorithmic, data-rich, parallel and explorative domains, and its inclusion in Visual Studio 2010 represents a huge milestone for the language.

To help understand what we’re doing with F#, I’ve listed some of the common questions people have about the language below. We thank everyone who has been involved in the production of F#, especially the many users who have given us feedback on the language!

Q: What is F#?

F# is a productive functional and object-oriented programming language for .NET that enables users to write simple code to solve complex problems. Its succinct syntax and powerful type inference lets users stay closer to the domain they are working in, and the integration into .NET and Visual Studio gives rich access to the expansive .NET platform.

F# has strong support for parallelism and concurrency, through its support for immutability and asynchronous programming, and tools such as the F# Interactive enable exploring data interactively, analyzing, visualizing and testing against live data sources. The development process then scales directly up to full .NET component development, without having to re-write code.

Q: What is F# designed for?

F# extends the .NET platform by offering a productive language for developers working in technical, algorithmic, parallel and data-rich areas. This has included applications in domains such as financial services, data analytics, games, sciences and machine learning. But F# is also a general purpose .NET programming language, and the combination of language strengths makes F# valuable in a broad range of development applications.

Q: What were your big objectives when designing F#?

F#’s primary design goal has been to combine the simple expressivity of functional programming with the scalability of .NET and object-oriented programming.

Q: What is functional programming?

Functional programming languages express ideas at a higher level and allow users to focus on the challenge of problem solving instead of the process of writing code. A programming language like F# provides a ‘tool bag’ of functions that users can pick from to solve their problem. Functional programming includes concepts such as immutability to reduce dependencies between components, generics to express solutions that work over many different kinds of data, and functions as values to make it easy to abstract units of a solution into reusable pieces.

Q: What are the primary benefits of functional programming?

Because it abstracts functionality from coding, F# lets programmers focus more on the problem domain and less on programming itself. That’s a big benefit in some of the data exploration, algorithmic and technical computing domains and so we’ve seen a lot of interest in using F# here. By raising the level of abstraction of how problems are solved, solutions tend to be simpler, more general, easier to test and more parallelizable.

Enjoy!

Don

Comments

  • Anonymous
    April 12, 2010
    Congratulations!  But most especially, thanks to you and the team for making F# a reality.

  • Anonymous
    April 12, 2010
    Congrs! Can't wait to play with it...F# is such a nice language to make things easier. Yet, it's a 'big' language to learn. Keep on making good progress F# team!

  • Anonymous
    April 12, 2010
    Congratulations on the launch.  I cannot imagine the amount of effort you the F# Team have expended to make this happen.  Well deserved success!!! ---O

  • Anonymous
    April 12, 2010
    Congratulations to all the F# team. It's brilliant to see F# gathering momentum and drawing more and more attention. What about the promise that the core of language would be released under Ms-PL? It's great that you guys always release the version for other platform together with the VS runtime, but unless it is liberally licensed it will be very hard to convince the open source community to embrace it. I really hope that something can be done about it. Don says: Hi Piotr, thanks for your feedback! We're working on it, thanks for your patience....

  • Anonymous
    April 12, 2010
    How do you use F# with VS2010 Express edition? Don: The current recommendation is to use Visual Studio 2008 Shell. We're looking into the question of Visual Studio 2010 Shell.

  • Anonymous
    April 12, 2010
    Been waiting for this day as eagerly as you have Don! Congrads to the whole team! I can't wait to see what the world will create with it!

  • Anonymous
    April 12, 2010
    Thanks very much for the great work that you and the team have done over all these years. I would personally love it if, good, solid language design and development were a lot quicker and I could could see powerful languages more often.  Given the limited number languages that MS is ever going to fully support on .NET though, I'm very pleased that F# has (mostly) joined the ranks of supported languages. For those who have been thirsting for this sort of thing, it's a big deal. I imagine that the power of what you have done will inevitably lead to a new era for those who appreciate it. Thanks again.

  • Anonymous
    April 12, 2010
    Are there any plans for a "Visual F# 2010 Express" style release (or a release of the core F# IDE for VS2010 shell as it is for VS2008 currently)? As I see it, the only options at the moment are,    - Buy the full VS 2010 product for .Net 4.0 support    - Use the VS 2010 integration and target .Net 3.5 Andy   Don:  we're working on this. We still have a few issues to sort out.  FWIW, you can use the compiler provided in the F# MSI or ZIP to compile for  .NET 4.0 development if you explicitly reference mscorlib and the FSharp.Core.dll from the F# 4.0 redist.  

  • Anonymous
    April 12, 2010
    Hi Don, Congratulation on the launch, I was really looking forward to this. I downloaded the newly released version of Visual Studio 2010 Shell (Integrated) as well as the mentioned F# plugin above and installed those... but it seems my environment is still empty and can't seem to do anything in F# from there. Any tips? Thanks, David Don: Hi David, the current recommendation is to use Visual Studio 2008 Shell. We're looking into the question of Visual Studio 2010 Shell. Thanks for your patience.

  • Anonymous
    April 13, 2010
    I have been following F# since 2007. Congratulations on reaching this point! You guys have been great for support from the time I started until now!

  • Anonymous
    April 13, 2010
    Congratulatons Don and F# team. Now the F#UN really begins!

  • Anonymous
    April 14, 2010
    Congrats Don and the rest of you guys, I really appreciate the work you did here. F# has re-invigorated my love for developing!

  • Anonymous
    April 14, 2010
    Is it supported to have F# installed in both VS2008 and in VS2010?  I installed VS2010 with F#, and then tried to install the April CTP of F# for VS2008 but get a Windows Installer error that another version of the product is already installed.

  • Anonymous
    April 14, 2010
    Ah, nevermind, turns out the error message was right: I just had a previous version of the 2008 CTP installed.   When I removed that, then the 2.0 CTP for VS2008 installed fine and everything works side by side!

  • Anonymous
    April 14, 2010
    Congrats on the release and thanks for your efforts to make functional programming a realistic option for mainstream development!

  • Anonymous
    April 15, 2010
    Congrats on the F# release!  It is an incredibly useful language to have as part of Visual Studio.  I noticed that the F# 2.0 release appears to have shipped with Silverlight 3 runtime support only (FSharp.Core).  Since Silverlight 4 just shipped today, when and how will the F# Silverlight 4 runtime be deployed?  Thanks!

  • Anonymous
    April 16, 2010
    I can create an F# Silverlight 4 project in VS2010 but it references a dll FSharp.Core that is not found. Silverlight 3 projects in F# work fine Don says: Have you installed the Silverlight 4 tools for Visual Studio 2010?

  • Anonymous
    April 17, 2010
    Why is there no more fsyacc and fslex in the free version ? Is it present in the commcial version ? Don says: FsLex and FsYacc are part of the F# Power Pack - thanks!

  • Anonymous
    April 20, 2010
    The comment has been removed

  • Anonymous
    May 01, 2010
    Don & team, Many congratulations - you've turned a research project into a mainstream release in a short 7 years! Roughly a decade ago, C# was an exciting release, today its F#. PS: I've been playing around with F# for about two years now.

  • Anonymous
    May 02, 2010
    F# is the best.  It is so great that it will be the tool I use in my research for my dissertation.  Great job to Don and your team at MSR.  I look forward to your book next month.

  • Anonymous
    May 04, 2010
    Congratulations, Don, to you and the team. Dave.

  • Anonymous
    May 11, 2010
    I know it may seem a bit to soon but I'm curious what are the plans for the future of the language? a blog update would be nice.