Pronounced F Sharp, F# is a universal programming language designed for writing succinct, robust, and performant code.
Its features include a lightweight syntax, immutable by default, type inference and automatic generalization, first-class functions, powerful data types, pattern matching, and async programming.
In other words, F# is a functional-first, general-purpose, strongly typed, multi-paradigm programming language that includes functional, imperative, and object-oriented programming methods. F# can be used as a cross-platform Common Language Infrastructure language on Microsoft's .NET language, although it can also be used to generate JavaScript and graphics processing unit code.
Developed by Microsoft in 2005, the F# Software Foundation, and open contributors, F# is an open-source, cross-platform compiler available under the MIT License. It is fully supported in Visual Basic and JetBrains Rider, while plugins are available for several popular editors, including the Ionide extension for Visual Studio Code, and it integrates with Vim and Emacs.
Influenced by C#, Erlang, Haskell, Python, and Scala, F# is a member of the ML language family, as it was created as an implementation of a core of the OCaml programming language.
As a functional-first programming language, F# treats computer programs as mathematical functions, with the focus on constants and functions, rather than as variables and states, as functions and constants are things that don't change. Functional programming languages tend to create concise programs.
F# is used primarily in making scientific models, mathematic solving, artificial intelligence research work, financial modeling, graphic design, CPU design, compiler programming, and telecommunications, although it can also be used in CRUD applications, web pages, GUI games, and other general-purpose programs.
It is available for Mac, Linux, and Windows.
The focus of this portion of our guide is on the F# programming language, pronounced F Sharp. Appropriate resources for this category include websites focused on the F# programming language, or any of its implementations, compilers, or tools designed to facilitate the use of the language, as well as F# user groups, forums, and tutorials.
 
 
Recommended Resources
Created to introduce coders to F#, showing ways in which the programming language can help in the day-to-day development of mainstream commercial business software. Free and open-source, F# runs on Linux, Mac, and Windows. The site focuses largely on mainstream business problems, such as domain-driven design, website development, data processing, business rules, and related projects, and uses common business concepts like Customer, Product, and Order, rather than purely academic examples.
https://fsharpforfunandprofit.com/
The official site for the F# programming language, which was designed by Microsoft, and maintained by the F# Software Foundation and the F# community on GitHub. Documentation, guides, videos, and other publications, along with testimonials, are set forth. Sponsor members are acknowledged and guides for using the language in the cloud, data access, enterprise, mobile applications, and the web are included. Foundation membership, its code of conduct, logo, and a member roster are included.
https://fsharp.org/
With several years of experience solving real-world problems with F# in a large range of areas, including finance, business application development, and machine learning, the fsharpWorks team are active members of the F# community and has a large network of contacts and collaborators. Key members of the team are introduced, upcoming workshops and training sessions are highlighted, and books on F# programming are featured, with links, and training and workshop testimonials are published.
https://fsharpworks.com/
Created and maintained by individual FsLab open-source contributors and the joined forces of F# open-source contributors, the website was itself created by F#, and the source code is available. FsLab is an F# Community Project incubation space for Data Science, in which the whole data science cycle can be performed in F#. Up-to-date curated tutorials, documentation, and package recommendations are made available for people of various skill levels. Tutorials and blog posts are included.
https://fslab.org/
GitHub: F# Software Foundation Repositories
Hosted on GitHub, the repositories for the F# programming language are available, including the F# Software Foundation page on GitHub, another page where suggestions, discussions, and votes can be made, as well as pages for filing issues or pull requests, open discussion with the Foundation's board of trustees, and documentation related to the language design process. Profiles of people participating in the project are featured, and its projects, packages, and general information are included.
https://github.com/fsharp/
Ionide builds cross-platform developer tools for F#, its flagship project being Ionide-VSCode, a Visual Studio Code plugin that transforms VSCode into an F# IDE. Other tools include a documentation generator, an F# LSP server, and F# analyzers. The organization's goals and motivations are listed, sponsors are acknowledged, and its tools, editors, and libraries are featured, along with videos and an overview of Ionide for VSCode, and its three plugins (ionide-fsharp, Ionide-Paket, Ionide-FAKE).
https://ionide.io/
Open-source, cross-platform, and interoperable, F# is a universal programming language designed to write uncluttered, self-documenting code. The Microsoft Build site provides an overview of the language, along with documentation, tips on getting started, a language guide and reference, tutorials, tools, a style guide, and information about using F# for machine learning, web development, and with Azure. Also included are code samples, related shows and events, and answers to common questions.
https://docs.microsoft.com/en-us/dotnet/fsharp/what-is-fsharp
Reactive Messaging Patterns with F# and Akka.NET
Part of the F# Advent Calendar in English 2015, the site is organized by Sergey Tihon, who translates examples from the book, "Reactive Messaging Patterns with the Actor Model," by Vaughn Vernon, to F# and Akka.NET. Sections include an introduction, messaging with actors, messaging with channels, message construction, message routing, message transformation, message endpoints, and system management and infrastructure. Several examples are provided, and links to other resources are provided.
http://www.fsharpreactivepatterns.com/