Программирование [SmartMe] JavaScript: Функциональное программирование

Бывалый
Команда форума
20 Фев 2019
31,490
1,761,835
113
#1
1723366435414-png.74782


Описание [SmartMe] JavaScript: Функциональное программирование:



Функциональное программирование в JavaScript является важной составляющей разработки приложений. Функциональный стиль программирования был изначально заложен в язык при его создании, подобно тому, как ребёнок наследует цвет глаз от одного из родителей. На этом воркшопе мы изучим основы функционального программирования, научимся писать более абстрактный код без использования классов и прототипов и создадим небольшую функциональную библиотеку для закрепления материала.

  1. Основы функционального программирования:
  • почему это важно;
  • функции как единицы абстракции;
  • функции как описание поведения;
  • данные как абстракция.
  1. Область видимости и замыкания:
  • глобальная область видимости;
  • лексическая область видимости;
  • динамическая область видимости;
  • функциональная область видимости;
  • замыкания (с использованием замыканий, замыкания как абстракции).
  1. Типы функций:
  • первоклассные функции;
  • функции высшего порядка;
  • функции построения функций;
  • каррирование;
  • частичное применение.
  1. Рекурсия:
  • самопоглощённые функции;
  • взаимозависимые функции;
  • слишком много рекурсии!;
  • генераторы;
  • рекурсия как низкоуровневая операция.
  1. Функциональное программирование, часть 2:
  • теория категорий;
  • функторы;
  • аппликативы;
  • монады.
  1. Чистота и неизменяемость.
  2. Потоковое программирование:
  • цепочка: ленивая цепь;
  • цепочка: обещания;
  • конвейерная обработка;
  • поток данных против потока управления.
  1. Лямбда-исчисление:
  • комбинатор Y;
  • преобразователи.
  1. Практическая часть. Создание мини-библиотеки:
  • от идеи до реализации;
  • TDD.
  1. Заключительная часть функционального программирования.
Подробнее:
Для просмотра содержимого вам необходимо авторизоваться

Скачать курс [SmartMe] JavaScript: Функциональное программирование:


Для просмотра содержимого вам необходимо авторизоваться