Skip to content

LukeBurgessYeo/fsharp-tutorial

Repository files navigation

What Is This Guide?

Welcome

This guide is all about learning to program, in particular using the F# programming language. We'll discuss this in more detail soon but for now let's talk about what the aims of this guide are and who it is for.

What are the aims of this guide?

The main aim is to take the reader from zero knowledge of computer programming to being able to confidently solve simple programming problems, like the easier bronze tier problems on /r/DailyProgrammer.

The secondary aim of this guide is to get the reader to that point using only those features of F# which are considered to be best practice and avoiding the features of F# which are considered to be less idiomatic. This also involves ignoring many concepts which more traditional programming languages rely upon.

The advantage of this approach is that the reader will be simply unaware of all the ways in which they might be able to shoot themselves in the foot when writing F# code. The hope is that this will make the reader a better programmer faster, even if this does make learning to code initially a little harder.

Who is this guide for?

For anyone simply trying to learn to program, there are much more accessible, well written, interactive and all round useful guides online which focus on programming languages that are much easier to learn in the beginning - allowing the reader to focus on the programming concepts rather than the language features.

This guide, by it's very nature, focuses heavily on language features rather than programming concepts - although programming concepts are introduced throughout. The hope is that the examples and exercises will be enough to introduce these concepts, and the later chapters (once the necessary syntax and language features have been introduced) do focus on concepts which will be required to solve general programming problems.

If you are curious about programming and the F# language, this guide is for you.

How to use this guide

The chapters in this guide have been written in the order in which they are intended to be read. That being said, if a particular chapter is proving troublesome, skipping ahead is encouraged. Some of the concepts introduced in this guide take some time to understand. However, these concepts are used regularly later in the guide and the continued exposure to the concepts and techniques may be all that is required to gain the necessary understanding to use those techniques yourself.

Make sure to run the code snippets in this guide for yourself. The outputs are often shown here but running the code yourself will help to solidify your understanding. Doing this also allows you to change the code snippets and experiment with them. This is fully encouraged.

Let's get started! →

About

Learning to program from scratch with F# - https://lukeburgessyeo.github.io/fsharp-tutorial

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published