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

Поділитися
Вставка
  • Опубліковано 2 жов 2024
  • Всё самое важное из мира функционального программирования. Поговорим о конвейере, композиции, частичном применении, каррировании, неизменяемых данных и чистых функциях. Вспомним о грустных коалах под дождем, котиках, которые любят смотреть на звезды, а в конце улетим в закат.

КОМЕНТАРІ • 20

  • @humanidis
    @humanidis 5 місяців тому

    Ахренеть. Суперское видео! И все это бесплатно на ютубе. Институты безнадежно устарели, все знания можно получить онлайн.

  • @nataliepodgainova6582
    @nataliepodgainova6582 2 роки тому +6

    Я прям влюбилась. Как можно так заинтересовывать предметом. Смотрела не отрываясь.

  • @kai.hexendorf
    @kai.hexendorf 2 місяці тому

    Как раз в Julia появился конвейер. Но если нет конвейера, то необязательно использовать пайтоновские матрешки: double(inc(double(double(5)))) - можно сделать же по-человечески:
    pipe(5)
    .double()
    .inc()
    .double()
    .double()
    И код можно читать как книгу сверху вниз, и параметр можно пропихнуть в оператор, и поддержка типов имеется для мэппинга, если ts использовать.
    Кстати, почему мы не можем назвать функцию чистой, если она возвращает случайное число? Возможно, что нам важно сохранить предсказуемость именно характеристик случайной величины.

  • @mendelson-dev
    @mendelson-dev 2 роки тому +1

    32:54 почему внутри функции partial => fn(...apply, args) нет спред оператора для args? (и в функции curry)

    • @georgegrinding1793
      @georgegrinding1793 Рік тому +1

      Я пришел к тому, что там ошибка. Перепутано, что нужно спредить. Должно быть: (...args) => fn(apply, ...args)

  • @olnimus
    @olnimus 2 роки тому +4

    Лектор конечно офигенный. По-моему ему надо читать лекции не только по программированию, а ещё как правильно читать лекции.😀

    • @diatm1506
      @diatm1506 Рік тому +1

      Жаль этот лектор про gof and grasp enterprise patterns не рассказывает(

  • @MrSanya789
    @MrSanya789 2 роки тому +1

    Исходный код практической части заливали в открытый доступ? Было бы интересно руками потрогать и попрактиковаться!

  • @MrSanya789
    @MrSanya789 2 роки тому +8

    Практическая часть, это конечно отвал башки, спасибо, очень круто!

  • @life_xypma
    @life_xypma Рік тому +2

    Как человек здорово, точно, лаконично и (!) приятно для восприятия излогает. Агонь! Жалко что я JS не увлекаюсь)

  • @kirillpavlovskii8342
    @kirillpavlovskii8342 2 роки тому +1

    пример с createCounter это скорее не замыкание а фабрика в данном случае

  • @СмтрТб
    @СмтрТб 2 роки тому +1

    Как проводится отладка кода при написании в таком стиле?

    • @gamerzero6085
      @gamerzero6085 5 місяців тому

      С помощью логов, как она проводится в практически любом крупном веб проекте. Редко когда мне доводилось воспользоваться дебаггером в крупных проектах.

  • @ДмитрийРозенбаун
    @ДмитрийРозенбаун 2 роки тому

    Спасибо большое за вебы!)

  • @RebziSquad
    @RebziSquad Рік тому +5

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

    • @gamerzero6085
      @gamerzero6085 5 місяців тому

      Они распределены по модулям.

    • @RebziSquad
      @RebziSquad 5 місяців тому

      @@gamerzero6085 разделить на файлики и папочки недостаточно, лично мне проще импорнуть класс в котором уже все находится, чем писать "импорт звездочка эс название".

    • @humanidis
      @humanidis 5 місяців тому

      Вполне справедливое замечание. Некоторые функции я бы не стал декомпозировать. Например, три условия в if через && вполне гармонично смотрятся.
      В целом, должен быть тимлид, который будет решать, насколько операция часто используемая и стоит ли выносить ее в отдельную функцию. И тогда уже выносить функцию в папку utils по конкретному направлению (чарджинг, дашборд, юзер и т.п.) или даже в общую папку utils.

  • @СмтрТб
    @СмтрТб 2 роки тому +1

    1:00:12 начало практики

  • @nikolay284
    @nikolay284 2 роки тому

    Я и бал как круто)