Fernando Rodriguez's blog

Posted Thu 04 April 2019

Beginning F#

First steps Let's learn F#!

Part of the F# Functions 101 series

F# is an incredibly easy language to pick up!

Not really, even though it should.

There are several hurdles on the way of the beginner. First of all, a really good book aimed at beginners. This is vital in a language plagued by TIMTOWTDIs.

F# is a functional language built on top of .NET, a strongly Object Oriented framework. This causes a lot of impedance between the language and the libraries.

It's like a Jedi and a Sith being siamese twins!

F# is not alone here. The same situation arises with Swift and Cocoa, although I feel like it's been better handled in the F# / .Net case.

One of the annoyances of having an evil siamese twin, is the curse of the TIMTOWTDI: Having a gazillion ways of doing the same thing, without a guide to which one is best, at least for newcomers, is very confusing.

There are some books...

Expert F# is horribly disorganized, keeps jumping around concepts and has the obnoxious habit of mentioned things that were not explained earlier.

It might be a great reference, but it's certainly not good learning material.

The F# book is also very frustrating. A lengthy dissertation of all the TIMTOADIs without much guidance at all: you order a steak and the waiter instead goes on to explain all the different cuts in a cow. Dude, I just want a steak!!!

F# Applied is pretty good, but not aimed at beginners.

DDD made functional by Scott Wlaschin is awesome: provides guidance and promotes great design, but again, it's not for beginners...

Put my blog where my mouth is

I'll try to alleviate this entry barrier by posting my notes as I learn the language. Join me and let's learn an awesome language tha can be used for backends, Data Science, web frontends and even mobile apps! How cool is that?

First things first

We will start by the most basic building block: functions.

Other posts in this series

  1. F# Functions 101 index
  2. Let the fun begin: let expressions in F#
Category: fsharp
Tags: programming functional programming F# FSharp