Just found this very nice video by Luca Bolognese introducing F#:
The video is already from some time ago (PDC 2008) but it nicely shows the difference between the declarative and imperative programming paradigm in some real-live examples.
I very much liked how Luca used the barista analogy to explain that distinction. He said it would be like asking for coffee in a bar or telling the bar tender to grind some beans, to heat some water and in parallel pressure cook some foam.
I remember three basic functions from F#:
- The ‘et’ oporator to bind a value to a function and not an assignment
- The ‘>’ pipeline operator to push the output from one operation to the next
- The ‘et functionName’ to define functions on the fly
I was pretty amazed how F# deals with asynchronous and parallel programming. A simple ”et!’ allows you to free up a thread.
More info about F# you can find on Microsoft’s F# Developer Center webiste.