Функциональное программирование сегодня, как, впрочем, и всегда, является неотъемлемой частью разработки приложений разного характера. В javascript функциональный стиль программирования был заложен еще при его рождении. Как ребенок получает цвет глаз от одного из своих родителей, так и javascript получил данную парадигму в наследство от языка с гордым названием Scheme.
На данном воркшопе мы углубимся в теорию функционального программирования, научимся писать более абстрактный код без классов и прототипов. И, в итоге, напишем небольшую функциональную библиотеку для закрепления пройденного материала.
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
Video: AVC, 1280x720, 29.970 fps, 420 Kbps
Audio: AAC LC, 48.0 KHz, 2 channels, 192 Kbps
Год: 2015
Язык: русский
Формат: mp4
Размер: 1.4 GB
Скачать:
Для просмотра скрытого текста необходимо зарегистрироваться или войти на сайт.
Для просмотра скрытого текста необходимо зарегистрироваться или войти на сайт.
Для просмотра скрытого текста необходимо зарегистрироваться или войти на сайт.
Для просмотра скрытого текста необходимо зарегистрироваться или войти на сайт.
Для просмотра скрытого текста необходимо зарегистрироваться или войти на сайт.
Для просмотра скрытого текста необходимо зарегистрироваться или войти на сайт.
Для просмотра скрытого текста необходимо зарегистрироваться или войти на сайт.
Для просмотра скрытого текста необходимо зарегистрироваться или войти на сайт.