Функциональное программирование во фронтенде: лямбда-исчисление и JS, монады, Elm, Fantasy Land

Sdílet
Vložit
  • čas přidán 1. 03. 2020
  • Артем Казарян, Front-End Developer of DSR Corporation, рассказывает о функциональном программировании для веб-разработчиков. Из видео вы узнаете о базовых принципах программирования в функциональном стиле, ключевых приемах и его пользе для современного фронтенд-разработчика. Вы узнаете, что программировать в рамках функциональной парадигмы можно на привычных во фронтенде языках.
    Ключевые тезисы доклада:
    - Функциональное программирование на Vanilla JS.
    - Лямбда-исчисление с помощью JavaScript.
    - Fantasy Land, спецификации для алгебраических структур в JS. Что такое монады.
    - Функциональные языки ELM, PureScript, ReasonML.
    Полезные ссылки:
    FP: en.wikipedia.org/wiki/Functio...
    Introduction to Functional Programming: www.cl.cam.ac.uk/teaching/Lec...
    Church encoding: en.wikipedia.org/wiki/Church_...
    Lambda calculus: en.wikipedia.org/wiki/Lambda_...
    Fantasy Land: github.com/fantasyland/fantas...
    Thorough analysis of Fantasy Land: www.tomharding.me/2017/03/03/f...
    Things I wish someone had explained about functional programming: jrsinclair.com/articles/2019/...
    Elm: ru.dsr-corporation.com/blog/1...
    PureScript: www.purescript.org/
    PureScript + VueJS: • Functional Frontend wi...
    ReasonML: reasonml.github.io/
    BuckleScript: bucklescript.github.io/
    Redex: redex.github.io/

Komentáře • 20

  • @fedc_
    @fedc_ Před 2 lety +3

    Картинки интересные, спасибо что рядом постоял

  • @denisbryukhachev3663
    @denisbryukhachev3663 Před 2 lety +2

    Зашел разобраться с лямбда функциями, ничего не понял

  • @Iaxls
    @Iaxls Před 3 lety +15

    Вот после просмотра таких видео, люди шарахаются от ФП. Это знаете как с мемом, рисуем сову. Не надо так.

    • @alexmerser7455
      @alexmerser7455 Před 2 lety

      Извините, не подскажите какой-нибудь материал по ФП для JavaScript? Много чего пытаюсь найти для простого разбора, но ничего толком хорошего не нашел, за исключением канала - czcams.com/users/sthxnp , ну и книжки mr Frisby. Возможно, существуют доклады, которые хорошо показывают основы?

    • @Iaxls
      @Iaxls Před 2 lety

      @@alexmerser7455 вот ещё шикарный доклад czcams.com/video/2QAUAZ5qgJM/video.html , как Вы наверное уже убедились материала не так много, это печально. Но тот кто ищет, тот всегда найдёт.

    • @Iaxls
      @Iaxls Před 2 lety

      @@alexmerser7455 почему то пропал мои первый ответ, повторю, лучшее что есть по Вашему запросу на сегодня, это книга Луис Атенсио - Функциональное программирование на JavaScript.

    • @alexmerser7455
      @alexmerser7455 Před 2 lety

      @@Iaxls оо, я год назад читал эту книжку, но во второй половине книги потерялся, возможно, в силу отсутствия опыта) спасибо)

    • @alexmerser7455
      @alexmerser7455 Před 2 lety

      @@Iaxls и доклад тоже уже этот посмотрел, спасибо :)

  • @ne4to777
    @ne4to777 Před 2 lety

    Каким боком иммутабельность и чистые функции к ФП? Это просто хороший стиль любого программирования: не мутировать стейт и юзать как можно больше функции без побочек. А ФП - это про композиции и комбинации.

    • @AnarchySane
      @AnarchySane Před 2 lety

      Основа ФП это чистые функции.

    • @ne4to777
      @ne4to777 Před 2 lety +1

      @@AnarchySane , покажи мне хоть одну полезную программу на чистых функциях)

    • @user-vn3vo3zf2m
      @user-vn3vo3zf2m Před 8 měsíci

      @@ne4to777 функция редьюсера, возвращающая новое состояние на основе экшена (напр. в Redux'е). Иммутабельность и чистые функции - важнейшие части парадигмы ФП. Можешь в википедии почитать, странно, что тебе было не лень накатать коммент, но лень загуглить "функциональное программирование" и открыть первый же результат.

    • @ne4to777
      @ne4to777 Před 8 měsíci

      @@AnarchySane , чистые функции это основа любой парадигмы. Умение писать максимально чисто это везде хорошо, так же как и максимально синхронно.

    • @ne4to777
      @ne4to777 Před 8 měsíci

      @@user-vn3vo3zf2m , то есть как только мы пишем нечистые функции и мутируем стейт это сразу уже не ФП?