Funktionale Programmierung wie ein Pro mit Kotlin

Jeder hat schon eine Liste ge-filter()-t oder ge-map()-t und dabei gedacht: Diese Dinge aus Funtionaler Programmierung (FP) sehen sehr viel besser aus als das Iterieren und Kopieren, das wir vorher gemacht haben. Vielleicht gibt es noch andere Sachen, die FP besser kann?

Durch Übungen, Beispiele und interaktive Diskussion zeigt dieser Workshop, wohin die funktionale Reise geht. Wie man Software oder Bibliotheken überhaupt funktional entwirft, wie man mit Fehlern, Nebenläufigkeit oder Seiteneffekte umgeht. Der Fokus liegt dabei mehr darauf, die Denkweise zu übermitteln, als die Breite an Features und mathematischen Konzepten aufzuzählen.

Vorkenntnisse

– Minimale Kotlin-Vorkenntnisse sind erforderlich.
– Teilnehmerinnen und Teilnehmer sollten schon einfachen Kotlin-Code lesen und schreiben können.

Lernziele

– FP, Kotlin und die Arrow-Bibliothek
– Strukturelle Abstraktionen und Higher Kinds
– Type Classes und Abhängigkeiten
– Fehlerbehandlung, Zustandsänderungen
– Generische Programmierung und Polymorphie

 

Agenda

09:00: Beginn
09:00 - 09:45: FP / Kotlin / Arrow: Intro zur Funktionale-Programmierung und Überschneidungen mit Kotlin und die Ergänzung durch die Arrow Bibliothek (45 Min.)
09:45 - 10:30: Funktionalize Code: Übung um den Code funktional aussehen zu lassen (45 Min.)
10:30: Kaffeepause
10:45 - 11:45: Errorhandling: Teilnehmer*innen lösen das Errorhandling Problem zusammen (60 Min.)
11:45: Mittagspause
12:45 - 13:30: Nebenwirkungen: Teilnehmer*innen beseitigen die restlichen Nebenwirkungen (45 Min.)
13:30 - 14:15: IO und Syntax: Zusammenfassung (45 Min.)
14:15: Kaffeepause
14:30 - 15:15: Real-World Designs (45 Min.)
15:15 - 16:00: Umsetzen: Teilnehmer*innen programmieren lokal gelernte Idiome (45 Min.)
16:00: Ende

 

Technische Anforderungen:

Um an dem Workshop teilnehmen zu können, installieren Sie bitte IntelliJ.
Das Programm ist erhältlich unter: https://www.jetbrains.com/idea/

Speaker

 

Robert Bräutigam
Robert Bräutigam ist seit 1999 Java- und Java-Enterprise-Entwickler mit Rollen vom Entwickler in Kleinprojekten bis zum Lead-Architekt in internationalen Großprojekten. Er sucht nach und argumentiert leidenschaftlich für alternative, leichtgewichtige Lösungen im technischen Bereich sowie prinzipientreues und diszipliniertes Vorgehen in der Softwareentwicklung.

Gold-Sponsor

codecentric

Silber-Sponsoren

codecentric
esolutions

Bronze-Sponsoren

ISO-Gruppe
Nürnberger Versicherungen

Herbstcampus-Newsletter

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

 

Anmelden