0:00:00 Theorie
0:04:46 Immutability
0:11:32 Pure Funktionen
0:13:48 filter, map und reduce
0:19:54 Rekursion
0:23:43 Tail Call Optimization
0:25:59 Point Free Style
0:31:16 Closures
0:38:44 Komposition von Funktionen
0:45:26 Transduktion
0:50:03 Currying
0:59:27 Memoization
1:02:36 Monads
1:14:38 Fazit
Willkommen zu meinem Mega Tutorial über funktionale Programmierung in JavaScript! In diesem umfassenden Video erkläre ich dir verschiedene fortgeschrittene Konzepte und Techniken der funktionalen Programmierung und zeige dir, wie du sie in deinen eigenen Projekten nutzen kannst.
Im ersten Teil erkunden wir die Grundlagen und die essentielle Theorie hinter funktionaler Programmierung. Egal, ob du ein angehender Entwickler bist oder einfach neugierig darauf, wie funktionale Programmierung funktioniert – dieses Video ist der perfekte Startpunkt für dich.
Wir werden die Grundlagen der funktionalen Programmierung und den Begriff der Immutability genau beleuchten. Praktische Beispiele zeigen dir, wie du Immutability in JavaScript anwenden kannst, um deinen Code lesbarer, sicherer und leichter testbar zu machen. Anschließend zeige ich dir, was reine Funktionen sind, warum sie so wertvoll sind und welche Vorteile sie bieten, wie verbesserte Lesbarkeit, Testbarkeit und die Vermeidung von Seiteneffekten.
Ein weiterer wichtiger Bestandteil der funktionalen Programmierung sind die Funktionen filter, map und reduce, die wir nutzen können, um Schleifen zu eliminieren. Ich werde dir zeigen, wie diese Funktionen verwendet werden können, um deine Codebasis zu vereinfachen und Fehler zu reduzieren. Danach werde ich dir einfache und unterhaltsame Erklärungen für Rekursion liefern und zeigen, wie sie in der Praxis angewendet wird, beispielsweise bei der Berechnung der Fakultät einer Zahl.
Tail Call Optimization (TCO) ist ein weiteres Thema, das wir behandeln werden. TCO verbessert die Leistung von rekursiven Funktionen in JavaScript. Ich werde dir alles erklären, was du über Tail Call Optimization wissen musst, und zeigen, wie es funktioniert und wie es die Leistung deines Codes verbessern kann.
Wir werden auch den Point-Free-Style behandeln, eine Technik, die es dir ermöglicht, JavaScript-Code auf eine saubere und expressive Weise zu schreiben, ohne explizite Argumente anzugeben. Ich gebe dir eine Einführung in Point-Free-Style, zeige praktische Beispiele und diskutiere Best Practices, um das Beste aus dieser Technik herauszuholen.
Closures sind ein weiteres mächtiges Werkzeug in JavaScript. Ich werde dir die Grundlagen und fortgeschrittene Techniken von Closures erklären und zeigen, wie sie funktionieren und warum sie eine wichtige Rolle in der JavaScript-Entwicklung spielen. Anhand praktischer Beispiele und Anwendungsfälle wirst du lernen, wie du Closures effektiv in deinem eigenen Code einsetzen kannst.
Ein weiteres spannendes Konzept sind Transducers. Transducers sind ein eleganter Ansatz, um Datenstrukturen in JavaScript effizient zu transformieren, ohne dabei die Sichtbarkeit oder Flexibilität zu verlieren. Wir werden Schritt für Schritt durch die Erstellung eigener Transducer-Funktionen gehen und praktische Anwendungen in realen Szenarien demonstrieren.
Danach tauchen wir in die Welt des Currying ein. Currying ermöglicht es dir, Funktionen in Teilschritten auszuführen und sie in eine Sequenz von Funktionen zu verwandeln, die jeweils nur ein Argument akzeptieren. Ich werde dir praktische Beispiele zeigen und erklären, wie Currying dir helfen kann, deinen Code zu vereinfachen und flexibler zu gestalten.
Anschließend erkläre ich die Technik der Memoization, die die Leistung deiner JavaScript-Anwendungen verbessern kann. Memoization erhöht die Geschwindigkeit von Funktionen, indem bereits berechnete Ergebnisse zwischengespeichert werden. Du wirst lernen, wie Memoization funktioniert und wie du sie in deine JavaScript-Anwendungen integrieren kannst.
Zuletzt werden wir eine Einführung in Monaden geben. Monaden sind ein faszinierendes, aber oft als schwierig und abstrakt geltendes Konzept. Ich werde dir Schritt für Schritt zeigen, wie Monaden funktionieren, warum sie in der funktionalen Programmierung nützlich sind, und wie du sie in JavaScript implementierst und verwendest. Praktische Beispiele werden dir helfen, die Theorie zu verstehen und Tipps und Tricks werden dir den Einsatz von Monaden in echten Projekten erleichtern.
Lass uns gemeinsam in die Welt der funktionalen Programmierung eintauchen und herausfinden, warum sie für die Zukunft der Softwareentwicklung so wichtig ist!
Ihr könnt mir gerne einen Kaffee ausgeben auf:
https://www.buymeacoffee.com/oliverjessner
Alle Beispiele:
https://github.com/oliverjessner/programmieren-lernen-mit-oli/tree/main/einfuehrung_in_die_funktionale_programmierung
0:04:46 Immutability
0:11:32 Pure Funktionen
0:13:48 filter, map und reduce
0:19:54 Rekursion
0:23:43 Tail Call Optimization
0:25:59 Point Free Style
0:31:16 Closures
0:38:44 Komposition von Funktionen
0:45:26 Transduktion
0:50:03 Currying
0:59:27 Memoization
1:02:36 Monads
1:14:38 Fazit
Willkommen zu meinem Mega Tutorial über funktionale Programmierung in JavaScript! In diesem umfassenden Video erkläre ich dir verschiedene fortgeschrittene Konzepte und Techniken der funktionalen Programmierung und zeige dir, wie du sie in deinen eigenen Projekten nutzen kannst.
Im ersten Teil erkunden wir die Grundlagen und die essentielle Theorie hinter funktionaler Programmierung. Egal, ob du ein angehender Entwickler bist oder einfach neugierig darauf, wie funktionale Programmierung funktioniert – dieses Video ist der perfekte Startpunkt für dich.
Wir werden die Grundlagen der funktionalen Programmierung und den Begriff der Immutability genau beleuchten. Praktische Beispiele zeigen dir, wie du Immutability in JavaScript anwenden kannst, um deinen Code lesbarer, sicherer und leichter testbar zu machen. Anschließend zeige ich dir, was reine Funktionen sind, warum sie so wertvoll sind und welche Vorteile sie bieten, wie verbesserte Lesbarkeit, Testbarkeit und die Vermeidung von Seiteneffekten.
Ein weiterer wichtiger Bestandteil der funktionalen Programmierung sind die Funktionen filter, map und reduce, die wir nutzen können, um Schleifen zu eliminieren. Ich werde dir zeigen, wie diese Funktionen verwendet werden können, um deine Codebasis zu vereinfachen und Fehler zu reduzieren. Danach werde ich dir einfache und unterhaltsame Erklärungen für Rekursion liefern und zeigen, wie sie in der Praxis angewendet wird, beispielsweise bei der Berechnung der Fakultät einer Zahl.
Tail Call Optimization (TCO) ist ein weiteres Thema, das wir behandeln werden. TCO verbessert die Leistung von rekursiven Funktionen in JavaScript. Ich werde dir alles erklären, was du über Tail Call Optimization wissen musst, und zeigen, wie es funktioniert und wie es die Leistung deines Codes verbessern kann.
Wir werden auch den Point-Free-Style behandeln, eine Technik, die es dir ermöglicht, JavaScript-Code auf eine saubere und expressive Weise zu schreiben, ohne explizite Argumente anzugeben. Ich gebe dir eine Einführung in Point-Free-Style, zeige praktische Beispiele und diskutiere Best Practices, um das Beste aus dieser Technik herauszuholen.
Closures sind ein weiteres mächtiges Werkzeug in JavaScript. Ich werde dir die Grundlagen und fortgeschrittene Techniken von Closures erklären und zeigen, wie sie funktionieren und warum sie eine wichtige Rolle in der JavaScript-Entwicklung spielen. Anhand praktischer Beispiele und Anwendungsfälle wirst du lernen, wie du Closures effektiv in deinem eigenen Code einsetzen kannst.
Ein weiteres spannendes Konzept sind Transducers. Transducers sind ein eleganter Ansatz, um Datenstrukturen in JavaScript effizient zu transformieren, ohne dabei die Sichtbarkeit oder Flexibilität zu verlieren. Wir werden Schritt für Schritt durch die Erstellung eigener Transducer-Funktionen gehen und praktische Anwendungen in realen Szenarien demonstrieren.
Danach tauchen wir in die Welt des Currying ein. Currying ermöglicht es dir, Funktionen in Teilschritten auszuführen und sie in eine Sequenz von Funktionen zu verwandeln, die jeweils nur ein Argument akzeptieren. Ich werde dir praktische Beispiele zeigen und erklären, wie Currying dir helfen kann, deinen Code zu vereinfachen und flexibler zu gestalten.
Anschließend erkläre ich die Technik der Memoization, die die Leistung deiner JavaScript-Anwendungen verbessern kann. Memoization erhöht die Geschwindigkeit von Funktionen, indem bereits berechnete Ergebnisse zwischengespeichert werden. Du wirst lernen, wie Memoization funktioniert und wie du sie in deine JavaScript-Anwendungen integrieren kannst.
Zuletzt werden wir eine Einführung in Monaden geben. Monaden sind ein faszinierendes, aber oft als schwierig und abstrakt geltendes Konzept. Ich werde dir Schritt für Schritt zeigen, wie Monaden funktionieren, warum sie in der funktionalen Programmierung nützlich sind, und wie du sie in JavaScript implementierst und verwendest. Praktische Beispiele werden dir helfen, die Theorie zu verstehen und Tipps und Tricks werden dir den Einsatz von Monaden in echten Projekten erleichtern.
Lass uns gemeinsam in die Welt der funktionalen Programmierung eintauchen und herausfinden, warum sie für die Zukunft der Softwareentwicklung so wichtig ist!
Ihr könnt mir gerne einen Kaffee ausgeben auf:
https://www.buymeacoffee.com/oliverjessner
Alle Beispiele:
https://github.com/oliverjessner/programmieren-lernen-mit-oli/tree/main/einfuehrung_in_die_funktionale_programmierung
Комментариев нет.