This two day course is designed to help software developers to learn about the basics of functional programming. We will explore the fundamentals of the functional paradigm in a series of hands-on exercises, which will provide a starting point for your journey into functional programming.
The contents of the course are language agnostic (or as much as possible!), so you should be able to apply this knowledge to any functional programming language, be this language dynamic or static. The code will not necessarily be idiomatic of the language we are using (F# transpiled to JS with Fable). We will go from having some very basic code within the domain (starting with a circle on the screen), to showing how code could be rewritten, bit by bit, towards a more functional way. Then we will be adding multiple circles to increase the fun and the possibilities.
Note: This is a publicly-run Beta of the course and therefore we will request feedback upon completion.
You will need to bring your own machine to the course. Please ensure that the following dependencies are installed beforehand.
You will also want an IDE that can handle F#. We would recommend using Visual Studio Code with Ionide. Visual Studio is also a good option. Finally, please make sure that you have access to a GitLab account.
Jorge has been a software professional for 20 years. Donning different hats through the process, the experience led him to believe in two maxims;' Simple is Beautiful' and 'Make Everyone's Life Easy'.
He has professional experience on multiple languages and stacks (all the way from Delphi, through C# and Java, to JS, Typescript and Clojure). Currently his main focus is on singing praises for Functional Programming, and improving the skills of developers (including his own).
Software es nuestra pasión.
Somos Software Craftspeople. Construimos software bien elaborado para nuestros clientes, ayudamos a los/as desarrolladores/as a mejorar en su oficio a través de la formación, la orientación y la tutoría. Ayudamos a las empresas a mejorar en la distribución de software.