SIGS DATACOM Fachinformationen für IT-Professionals

SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architektur
03. - 07. Februar 2020, München

Sessionsdetails

Vortrag: Mi 8.3
Datum: Mi, 05.02.2020
Uhrzeit: 14:30 - 15:30
cart

Wenn einfach einfach einfach ist: Functional Programming mit Kotlin und Scala

Uhrzeit: 14:30 - 15:30
Vortrag: Mi 8.3

 

Konzepte der funktionalen Programmierung finden Einzug in zunehmend mehr Programmiersprachen. Zudem revolutionieren moderne Sprachen wie Kotlin und Scala die Programmierwelt, indem sie direkt auf eine Symbiose von objektorientierten und funktionalen Konzepten setzen.
Anfangs fällt es vielen Entwicklern schwer, sich von den bekannten imperativen Mustern zu lösen, da die praktische Erfahrung fehlt. Der Vortrag fokussiert sich daher auf die Vermittlung typischer funktionaler Muster zur praktischen Verwendung im Entwickleralltag.

Zielpublikum: Entwickler
Voraussetzungen: Erfahrung mit Kotlin oder Scala
Schwierigkeitsgrad: Anfänger

Extended Abstract
Konzepte aus der funktionalen Programmierung finden zunehmend Anklang bei Entwicklern, insbesondere durch die Popularität moderner Sprachen, wie Kotlin und Scala. Diese beiden nehmen hierbei eine Vorreiterstellung unter den General-Purpose-Sprachen ein, indem sie auf eine Symbiose von objektorientierten und funktionalen Konzepten setzen.
Viele der funktionalen Konzepte sind hierbei seit Jahrzehnten nahezu unverändert und basieren auf Grundlagenforschung, die bis in die 30er Jahre zurückreicht. Es lässt sich sehr gut erkennen, wie gefragt diese Patterns in der Entwicklung heute (wieder) sind, wenn man sich die Feature-Listen neuerer Java-Versionen anschaut. Beginnend mit Version 8, adaptiert Java zunehmend Konzepte aus der funktionalen Programmierung, wie Lambdas, Closures und First-Class Functions.
Diese Adoption funktionaler Patterns ist nicht immer ganz einfach. Oftmals fehlt es an der praktischen Erfahrung mit funktionalen Patterns, um diese an geeigneten Stellen korrekt zu verwenden. Zudem fällt es vielen Entwicklern anfangs schwer, sich selbst von den in der objektorientierten Programmierung bekannten imperativen Mustern zu lösen. Dahinter stecken eingefahrene Denkmuster, die erst einmal überwunden werden müssen. Natürlich fallen auch initiale Lernaufwände an und es wird teilweise ein Umdenken erforderlich. Plötzlich wird die Unterscheidung zwischen Statement und Expression relevant, ebenso die Bedeutung von seiteneffektfreier Programmierung und referentieller Transparenz. Vor dieser ersten Lernhürde schrecken viele Entwickler zu Unrecht zurück. Die Belohnung ist eleganter und prägnanter Code, der sich leichter warten lässt.
Dieser Talk ist als Functional Battle der Sprachen Kotlin und Scala aufgebaut. Die Teilnehmer lernen verschiedene typische Patterns aus der funktionalen Programmierung anhand von Beispielen der jeweiligen Sprachen kennen. Der Fokus liegt hierbei darin, den Teilnehmern den Nutzen dieser Patterns zur praktischen Verwendung im Daily Business des Entwicklers zu vermitteln.