Функциональное программирование в JavaScript

Курс можно начать проходить в любое время

on demand

Сложность курса: middle
 

Старт курса

09
декабря2015
2015-12-09 2015-12-09 Europe/Kiev Функциональное программирование в JavaScript --- Smartme University info@smartme.university

Описание

Функциональное программирование сегодня, как, впрочем, и всегда, является неотъемлемой частью разработки приложений разного характера. В JavaScript функциональный стиль программирования был заложен еще при его рождении. Как ребенок получает цвет глаз от одного из своих родителей, так и JavaScript получил данную парадигму в наследство от языка с гордым названием Scheme.

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

Этот курс расчитан на программистов начального и среднего уровня, которые хотят пойти немного дальше чем разработка веб-преложений на популярных фреймворках и библиотеках.

В Javascript функциональная часть была заложена еще при его создании и походит она от языка Scheme. И является одной из самых важных частей JavaScript. Замыкания, Анонимные функции, Функции высшего порядка, все это используется повседневно в работе JS программиста, и за частую без осознания всей мощи этих инструментом. ФП на сегодня набирает популярность, очередной виток популярности… Об этом свидетельствует появление таких библиотек как Immutable, Redux, Lodash, Rambda а так же языков Elm-lang, PureScript, Elexir и многих другие.Конкретно этот курс вам расскажет про правильную функциональную декомпозицию, про понятия в функциональных языках, про их различие и взаимодействие. Ну и про то как это все применять в js. 

  1. Базовые принципы функционального программирования
    1. Функции, как единицы абстракции
    2. Функции, как описание поведения
    3. Данные, как абстракия
  2. Applicative programming
    1. Applicative programming
  3. Closures
    1. Using Closures
    2. Closures as Abstractions
  4. Типы функций
    1. Higher order functions
    2. Function-Building Functions
    3. Currying
    4. Partial Applications
  5. Purity, Immutability  
    1. Рure and impure functional programming
    2. Иммутабельность
    3. Мутация объектов
    4. Контроль мутаций на уровне функций