This is a work in progress, as my course on F# is moving through the first semester of 2023.
The course is structured as a collection of Polyglot Jupyter Notebooks.
Just open this repo in MyBinder:
Give it a little time, and this will open the notebooks in My Binder.
You can keep your own copy of this repo by forking it. Following the instructions above, you can make all the code editable in your own repo, using binder.
Once you fork the repo, go to MyBinder. You will land into this page:
Copy the url of your forked repo into the GitHub
field, and you can leave the Git ref
and Path to a notebook
empty. Click on launch and wait a while until My Binder works the magic.
One the binder is opened, click on the es
directory in the panel at the left, and you will see all the available notebooks.
Open the one of yourchoice, check that the Kernel
on the right is properly selected.
It automatically detects .NET C#,
but that is not the language you are looking for:
and you are good to go.
If you want to experience the notebooks at your own computer, you need to install the polyglot extension for VS Code, and follow the instructions there.
No problem, until I manage to translate the content (which can take a while...), and if you can tolerate the automagic translation, you can use nbTranslate, a Jupyter notebook extension that creates multilanguage notebooks by translating the content using google translate. Follow the instructions in those sites to get it work.
These guides are oriented to those programmers interested in learning some concepts on functional programming, from a practical perspective. F# is an excelent first functional programming language: it is functional (of course), it has a clean and readable syntax (not a lot of fancy symbols and stuff), it is flexible (in case you need to grasp some other paradigm in the middle of your code) and it is concise enough to express your ideas with clarity.
Learning a new language and a new programming paradigm is a wonderful adventure. You do not need any special preparation, although I assume that the reader has some background in at least one popular language (let us say C, Python, Java or JavaScript, for example).
This guides are entirely written as Jupyter Notebooks. Yes, it is possible to run F# in a Jupyter notebook interactive environment, which is fantastic for learning.
This repository contains the Jupyter Notebooks edition of the course. El contenido más completo está en español
en el directorio es
.
As stated before, you can install the proper tools to translate the notebooks to your language of choice.
The course can also be accesed as a read only content in my blog, or as a course format in Programación avanzada, the last one with exercises.
Most of the notebooks names are self-explanatory, but here it is the index for a clearer organization:
- The Jupyter notebook edu book.
- Instructions on how to build .NET in Binder here and copied config files from here, updated to .NET 7.