Von C# zu F# – Einführung in die funktionale Programmierung

Funktionale Programmierung (FP) ist seit einigen Jahren in aller Munde: Es gibt kaum eine OO-Sprache, die in letzter Zeit nicht FP-Konzepte nachgerüstet hat. Gerade in Zeiten von Serverless werden diese Prinzipien immer wichtiger. Aber: Was macht eigentlich den Reiz dieses Paradigmas aus? Arbeiten wir mit C# und LINQ nicht schon "funktional"? Die Antwort lautet meistens: nein. Oft wird LINQ nur als Kurzschreibweise verwendet, ohne die Mächtigkeit des zugrunde liegenden Paradigmas zu verstehen.

In diesem Workshop werden wir einige universelle FP-Konzepte in C# und F# vorstellen. Wir werden auch lernen, wie man FP-Konzepte in einer OO-Sprache wie C# richtig verwendet.

Vorkenntnisse

Grundlagen der OO-Programmierung (idealerweise C#, aber Java-Grundkenntnisse genügen auch)

Lernziele

Verständnis für die Grundlagen der funktionalen Programmierung.

Agenda

ab 9:00 Registrierung und Begrüßungskaffee

10:00 Beginn

Begrüßung
Grundlagen der Funktionalen Programmierung
Funktional Programmieren in C# Das Problem mit "null"

12:00 - 13:00 Mittagspause

Eine kleine Einführung in F#
Value Objects und smarte Konstruktoren

14:30 - 14:45 Kaffeepause

Funktoren und Monaden
Railway Oriented Programming

16:15 - 16:30 Kaffeepause

Applicatives und Validierung
Ausblick: Funktionale Architektur und weitere Einsatzmöglichkeiten von F#

ca. 18.00 Uhr Ende

 

Technische Anforderungen

Der Workshop funktioniert vollständig als Gruppenarbeit mit mitgebrachter Hardware. Die Teilnehmer*innen benötigen daher nur etwas zum Mitschreiben. Notebook & Co. sind nicht notwendig.

Speaker

 

Dr. Patrick Drechsler
Dr. Patrick Drechsler ist Software-Entwickler und -Architekt bei Redheads Ltd. Seine aktuellen Interessengebiete sind DDD und funktionale Programmierung. Man trifft ihn auch häufig bei regionalen Software Crafting Events wie der Softwerkskammer.

Martin Grotz
Martin Grotz hat nach dem Start in der .NET-Welt mit C# und OO-Programmierung vor einiger Zeit die Web-Entwicklung für sich entdeckt. Seit er dort auf die funktionale Programmiersprache Elm gestoßen ist, nutzt er die funktionale Programmierung auch auf dem Server so oft wie möglich. Dort setzt er neben Elixir vor allem F# ein, um die Anforderungen der Kunden domänennah in guten Code zu übersetzen.

Herbstcampus-Newsletter

Sie möchten über den Herbstcampus
auf dem Laufenden gehalten werden?

 

Anmelden