F# is a multi-purpose functional programming language developed by Microsoft Research. It is a part of the .NET family of programming languages and provides developers with a succinct, expressive, and type-safe syntax that allows for easy and efficient coding. This guide will provide a brief biography of F#, a beginner's tutorial on how to write it, and an overview of its best applications.

Biography of F#
F# was created by Don Syme, a researcher at Microsoft Research, in 2005. It was designed to be a functional programming language that could run on the .NET platform. F# was initially developed as an academic project, but it quickly gained popularity among developers due to its simplicity and ease of use. In 2010, Microsoft officially released F# as a part of Visual Studio 2010, and it has been gaining momentum ever since.

How to Write F#
F# is a functional programming language, which means that it focuses on expressions and the evaluation of those expressions. F# is a strongly typed language, so every value and function has a specific type that must be explicitly defined. Here is an example of a simple F# program that prints the message "Hello, world!" to the console:

```
open System

[<EntryPoint>]
let main argv =
    printfn "Hello, world!"
    0
```

The first line `open System` specifies that we want to use the System namespace, which contains the `printfn` function that we will use to print our message. The next line defines the `main` function, which is the entry point of the program. The `[<EntryPoint>]` attribute tells the compiler that this is the function that should be executed when the program starts.

The `let` keyword is used to define a variable or a function. In this case, we are defining a function called `main` that takes a single argument `argv`, which is an array of strings representing the command line arguments passed to the program. The `printfn` function is used to print our message to the console.

The final line `0` is the return value of the `main` function. In F#, the last expression in a function is automatically returned, so we don't need to use the `return` keyword.

Best Applications for F#
F# is a versatile language that can be used for a wide range of applications, including web development, data analysis, and scientific computing. F# is particularly well-suited for developing scalable and high-performance applications. Here are some examples of applications that can be built using F#:

1. Web Applications: F# can be used to build web applications using the ASP.NET framework. F# provides a succinct syntax for defining web routes and handling requests.

2. Data Analysis: F# provides built-in support for data analysis and visualization using libraries like Deedle and FSharp.Data. F# also supports interoperability with other data analysis tools like R and Python.

3. Scientific Computing: F# provides a powerful and expressive syntax for working with numerical data. The FSharp.Math library provides support for common mathematical operations like linear algebra, optimization, and signal processing.

Conclusion
F# is a multi-purpose functional programming language that offers a concise and expressive syntax for developers. It is a versatile language that can be used for a wide range of applications, including web development, data analysis, and scientific computing. With its strong typing and efficient coding style, F# is a great choice for developers who want to build scalable and high-performance applications.