Getting started with F#

F#

F# Problem Overview


How do I go about getting into F# programming?

What are some good starter samples to learn the language, or learn about some of its advantages over other languages?

What tools do I need (e.g. Windows, Visual Studio, ...)?

F# Solutions


Solution 1 - F#

Official entry point is here: Microsoft F# Developer Center

For a quick taste, consider trying F# in your browser (Silverlight). (contains interactive tutorial walkthroughs)

Start by watching videos and presentations (BTW, An Introduction to Microsoft F# by Luca Bolognese is still one of the best presentations on the subject). Then read the following two must-read books:

and in addition to that...

Community

Q&A

Blogging/publishing

Meetup Groups

Videos

Other Books

Tools needed

Visual Studio:

  • F# is built in to professional editions of VS2010 and VS2012.
  • F# is available as a add-on component to Visual Studio 2012 Express for Web.
  • Alternatively you can also install the VS2010 integrated shell (free download). Then install the CTP MSI, for a free VS2010 version of F# 2.0.

MonoDevelop:

  • You can find lots of information about using F# within MonoDevelop here. The F# compiler and fsi.exe are now part of the Mono distribution.

Solution 2 - F#

The way I learned F# was to go through the following 3 steps.

First, I went through the introduction on the Try F# website which gives a good (but light) interactive introduction to the syntax and style of the language.

Next, to get a feel for actually solving problems in the language, I began solving some of the puzzles on the Project Euler site. I solved about the first ten problems and after each successful problem, I looked up an alternative F# implementation here. This gave a good feeling for how to work with sequences and using recursion and just generally becoming comfortable with the syntax.

Finally, I read the truly excellent 30-point guide Why use F# on http://fsharpforfunandprofit.com/. It takes you step-by-step through all of the major parts of the language describing how you can take advantage of them - with an eye towards C# developers. After that I encourage you to look around for other resources on the website, they are all very well written and highly insightful.

After completing these steps you should be ready to begin creating a real project in F#.

Solution 3 - F#

Brian already put together a great list, but I humbly submit my own small contribution to the rich ecosystem of F# learning material, the F# Koans- a simple, fun, and interactive way to learn the F# language through testing.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBrianView Question on Stackoverflow
Solution 1 - F#BrianView Answer on Stackoverflow
Solution 2 - F#Morten ChristiansenView Answer on Stackoverflow
Solution 3 - F#Chris MarinosView Answer on Stackoverflow