Каковы свойства функций в ФП? Душкин объяснит

Поділитися
Вставка
  • Опубліковано 1 лис 2021
  • Узнаем, какие свойства функций рассматриваются в рамках функционального программирования.
    Курс по функциональному программированию на Udemy: www.udemy.com/course/fp-haskell/
    ТГ-канал Романа Душкина: t.me/drv_official
    #ФП #Программирование #Функция #ФункциональноеПрограммирование #Haskell #Хаскель #Хаскелл #Видеошпаргалка #РоманДушкин #ДушкинОбъяснит

КОМЕНТАРІ • 7

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

    Все видео по функциональному программированию в одном плейлисте: ua-cam.com/video/bPCBb1U56yw/v-deo.html
    И вы всегда можете обратиться к нам за консультациями.

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

      И, кроме того, вы всегда можете написать мне в ТГ: @rdushkin

  • @user-zs8zi5iv4h
    @user-zs8zi5iv4h 2 роки тому +1

    Википедия пишет: чистая функция - это когда выполняются все 2 условия. 1. Функция является детерминированной. 2. Функция не имеет побочных эффектов.
    Из вашего видео к чистоте относится только 2ой пункт. 1ый совсем выделен в отдельное свойство и не относится к чистоте функции.

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

      В википедии эти слова в своё время писал я :)
      Если честно, в разных источниках двоякое понимание. Можно считать, что в википедии более полное.

    • @redice8928
      @redice8928 Рік тому

      @@dushkin_will_explain ХАХХАХАХАХАХА

  • @demimurych1
    @demimurych1 Рік тому

    Позвольте мне обратить ваше внимание на некоторое противоречие, которое, как мне показалось, имеет место быть в рамках определения того, чем является функция из предыдущего видео, и тем что Вы описываете в этом видео.
    В предыдущем видео, Вы даете определение функции.
    В рамках этого определения, не может существовать такого понятия как чистая функция, так как в рамках этого определения (что полностью отвечает функциональной парадигме) функция оперирует только теми параметрами, которое определены ей на вход.
    В текущем видео, Вы декларируете концепцию чистых функций, которая совершенно не следует из предыдущего определенения. Концепция чистых функций, следует только из того, что в современных языках программирования, существует возможность оперировать параметрами вне множества входящих параметров.
    От туда и возникает определение чистых функций - как необходимый инструмент пояснения программистам, которые УЖЕ знакомы с императивным программированием, но не знакомы с функциональным - что факт доступа к любому внешнему аргументу должен быть либо исключен полностью, либо вынесен в отдельную абстракцию, которая лежит за рамками функционального программирования.
    Иными словами, чистая функция - это не качество функции в ФП, это необходимый костыль или пояснения для тех, кто испытывает необходимость в рамках современных языковы обратиться за пределы переданных в функцию аргументов.
    И именно это, на мой взгляд, требует отдельного пояснения, именно потому, что определение которое Вы дали в предыдущем видео находится строго в рамках парадигмы ФП, но ваша ремарка в этом видео, сбивает человека с толку, когда он начинает думать о функции, как о том, чтодолжно обладать некоей чистотой. При этом никакой чистоты из определения предыдущего видео не следует и быть не может - потому как в нем строго определено множество тех входящих данных которыми оперирует функция.