Einführung in die Funktionale Programmierung (einfach und praxisnah!)

Published: 07 August 2020
on channel: Niklas Steenfatt
132,645
3.5k

💠 Mein komplettes Produktivitätssystem: https://fokus.so



Funktionale Programmierung ist ein Programmierparadigma, das in der modernen Softwareentwicklung eine wichtige Rolle spielt. Es ermöglicht uns, eleganten, zustandslosen Code zu schreiben, der im Vergleich zur klassisch imperativen Programmierung oft einfacher zu interpretieren, testen und parallelisieren ist. Funktionale Programmierung ist kein Ersatz für objektorientierte Programmierung, sondern eine wichtige Ergänzung.

In meinen Studentenzeiten habe ich funktionale Programmierung als Übungsleiter an der Universität unterrichtet. Als Softwareentwickler in der Industrie kommen mir die Konzepte aus der funktionalen Programmierung regelmäßig zugute.

In dieser Einführung erkläre ich anhand von praktischen Beispielen in Python (und Java), was funktionale Programmierung ausmacht, welche Vorteile sie hat, und wie man funktionale Programme in der Praxis schreibt.

Ich setze lediglich ein Grundverständnis imperativer Programmierung (Zuweisungen, Schleifen, usw.) voraus. Ich behandle insbesondere Seiteneffekte, Closures, Lambda-Funktionen und Funktionen höherer Ordnung: map, filter, reduce und curry. Als Bonus zeige ich, wie man mit Python List Comprehensions besonders schönen funktionalen Code schreiben kann.

Zum Abschluss gebe ich drei Übungsaufgaben:
1) anzahl_gerade (mittels reduce und filter)
2) curry
3) mein_filter (mittels reduce)

Schreib gerne einen Kommentar mit deiner Lösung! Am liebsten mit etwas Platz davor, damit es nicht gleich allen angezeigt wird.

📢 Zuschauerumfrage: https://forms.gle/p8xZt3Ag2LYZGewq9

💌 Newsletter: https://niklassteenfatt.com/

Die Folien in diesem Video habe ich mit excalidraw.com erstellt.

Quelle für das Bild von Haskell Curry: https://commons.wikimedia.org/wiki/Fi...

▬ Timestamps ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

0:00 - Intro
0:33 - Programmierparadigmen
2:18 - Gegenbeispiel: Seiteneffekte
4:37 - Sortieren in Python: funktional vs imperativ
5:58 - Vorzüge funktionaler Programmierung
8:09 - Funktionen höherer Ordnung
8:34 - Vorstellung des Anwendungsbeispiels
9:20 - Closures
12:28 - Map
14:09 - Lambda-Funktionen
16:30 - Currying
17:35 - Filter
18:41 - Reduce
20:10 - List Comprehensions
21:53 - Beispiele in Java
22:12 - Übungsaufgaben

Jetzt deine Ziele erreichen: https://fokus.so


Watch video Einführung in die Funktionale Programmierung (einfach und praxisnah!) online without registration, duration hours minute second in high quality. This video was added by user Niklas Steenfatt 07 August 2020, don't forget to share it with your friends and acquaintances, it has been viewed on our site 132,645 once and liked it 3.5 thousand people.