JavaScript: функциональное программирование (Kyiv)

 
Стоимость видеозаписи
Мастер-класс завершен. Вы можете купить его запись
Покупая онлайн-трансляцию, вы получаете полноценное участие в ивенте не выходя из дому. Это звук, видео и возможность задавать вопросы. Это не видеозапись, но 100% эффект присутствия.
Время проведения
20
сентября2015
Завершено

09:00 - 18:00

г. Киев, ул. Вадима Гетьмана, 1-А, м. Шулявская (Google Maps)


Воркшоп также будет проведен в Харькове (17 октября 2015)


 

Описание


Внимание! Регистрация на участие оффлайн закрыта!

Вы все еще можете стать участником воркшопа, купив билет на онлайн-трансляцию! smiley


Функциональное программирование сегодня, как, впрочем, и всегда, является неотъемлемой частью разработки приложений разного характера. В 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

10. Функциональное программирование. Заключительная часть.