| title | F# Guide |
|---|---|
| description | This guide provides an overview of various learning materials for F#, a functional programming language that runs on .NET. |
| author | jackfoxy |
| ms.author | phcart |
| ms.date | 03/19/2018 |
| ms.topic | article |
| ms.prod | .net |
| ms.technology | devlang-fsharp |
| ms.devlang | fsharp |
| ms.assetid | ea27fb37-dad1-4bd4-a3cc-4f5c70767ae9 |
F# is a functional programming language that runs on .NET. It also has full support for objects, letting you blend functional and object programming for pragmatic solutions to any problem.
open System // Get access to functionality in System namespace.
// Function: takes a name and produces a greeting.
let getGreeting name =
sprintf "Hello, %s! Isn't F# great?" name
// Use the EntryPoint attribute to run the program.
[<EntryPoint>]
let main args =
// Define a list of names
let names = [| "Don"; "Julia"; "Xi" |]
// Print a fun greeting for each name!
names
|> Array.map getGreeting
|> Array.iter (fun greeting -> printfn "%s" greeting)
0F# is about productivity at its heart. The tooling support for F# is ubiquitous and full of advanced features.
Tour of F# gives an overview of major language features with lots of code samples. This is recommended if you are new to F# and want to get a feel for how the language works.
Get started with F# in Visual Studio if you're on Windows and want the full Visual Studio IDE (Integraded Development Environment) experience.
Get started with F# in Visual Studio for Mac if you're on macOS and want to use a Visual Studio IDE.
Get Started with F# in Visual Studio Code if you want a lightweight, cross-platform, and feature-packed IDE experience.
Get started with F# with the .NET Core CLI if you want to use command-line tools.
Get started with F# and Xamarin for mobile programming with F#.
F# Language Reference is the official, comprehensive reference for all F# language features. Each article explains the syntax and shows code samples. You can use the filter bar in the table of contents to find specific articles.
F# Core Library Reference is the API reference for the F# Core Library.
F# for Fun and Profit is a comprehensive and very detailed book on learning F#. Its contents and author are beloved by the F# community. The target audience is primarily developers with an object oriented programming background.
F# Programming Wikibook is a wikibook about learning F#. It is also a product of the F# community. The target audience is people who are new to F#, with a little bit of object oriented programming background.
F# tutorial on YouTube is a great introduction to F# using Visual Studio, showing lots of great examples over the course of 1.5 hours. The target audience is Visual Studio developers who are new to F#.
Introduction to Programming with F# is a great video series that uses Visual Studio Code as the main editor. The video series starts from nothing and ends with building a text-based RPG video game. The target audience is developers who prefer Visual Studio Code (or a lightweight IDE) and are new to F#.
What's New in Visual Studio 2017 for F# For Developers is a video course that shows some of the newer features for F# in Visual Studio 2017. The target audience is Visual Studio developers who are new to F#.
The F# Snippets Website contains a massive set of code snippets showing how to do just about anything in F#, ranging from absolute beginner to highly advanced snippets.
The F# Software Foundation Slack is a great place for beginners and experts alike, is highly active, and has some of world's best F# programmers available for a chat. We highly recommend joining.
Although Microsoft is the primary developer of the F# language and its tools in Visual Studio, F# is also backed by an independent foundation, the F# Software Foundation (FSSF).
The mission of the F# Software Foundation is to promote, protect, and advance the F# programming language, and to support and facilitate the growth of a diverse and international community of F# programmers.
To learn more and get involved, check out fsharp.org. It's free to join, and the network of F# developers in the foundation is something you don't want to miss out on!