Организатор:SmartMe
Спикер:Коваленко Алексей
Описание
Функциональное программирование сегодня, как, впрочем, и всегда, является неотъемлемой частью разработки приложений разного характера. В JavaScript функциональный стиль программирования был заложен еще при его рождении. Как ребенок получает цвет глаз от одного из своих родителей, так и JavaScript получил данную парадигму в наследство от языка с гордым названием Scheme.
На данном воркшопе мы углубимся в теорию функционального программирования, научимся писать более абстрактный код без классов и прототипов. И, в итоге, напишем небольшую функциональную библиотеку для закрепления пройденного материала.
О тренере
Коваленко Алексей
(Front-End Developers Manager / Front-End Lead Developer at WIX)
За более, чем
План мастер-класса:
1. Функциональное программирование. Начало:
● Почему это важно
● Функции как единицы абстракции
● Функции как описание поведения
● Данные как Абстракция
2. Scope and Closures — в вкратце:
● Global Scope
● Lexical Scope
● Dynamic Scope
● Function Scope
● Closures (Using Closures; Closures as Abstractions)
3. Типы Функций:
● First-class functions
● Higher-order functions
● Function-Building Functions
● Currying
● Partial Applications
4. Рекурсии:
● Self-Absorbed Functions
● Codependent Functions
● Too Much Recursion!
● Generators
● Рекурсии как низкоуровневые операции
5. Функциональное программирование. Часть II:
● Теория Категорий
● Functors
● Applicatives
● Monads
6. Purity, Immutability.
7. Программирование на базе потоков:
● Chaining: A Lazy Chain
● Chaining: Promises
● Pipelining
● Data Flow против Control Flow
8. Lambda calculus:
● Y Combinator
● Transducers
9. Практическая часть. Давайте напишем мини библиотеку:
● От идеи к реализации
● TDD
10. Функциональное программирование. Заключительная часть.