Отличается чистотой функций, в структурном подходе они могут иметь побочные эффекты, а в ФП - нет. В Структурном походе каждая функция выполняет конкретную задачу, а основная функция "приготовить борщ" последовательно вызывает их, чтобы приготовить борщ. Тут мы будем использовать функции для выполнения каждой отдельной задачи, а затем объединять их последовательно для достижения конечного результата. В функциональном подходе мы будем использовать чистые функции и избегать побочных эффектов. Тут каждая функция возвращает новое состояние, не изменяя входные данные. Основная функция "приготовить борщ" последовательно передает результат одной функции в другую, чтобы приготовить борщ. В общем, оба подхода могут быть эффективными и в зависимости от предпочтений программиста можно использовать хоть тот, хоть другой. Структурный подход: - Использует последовательность вызова функций. - Изменяет состояние через переменные и функции с побочными эффектами. - Фокусируется на шаг за шагом выполнении задач. Функциональный подход: - Использует чистые функции, которые возвращают новое состояние. - Избегает изменения состояния, работая с неизменяемыми данными. - Фокусируется на преобразовании данных через функции.
В процедурном подходе нужно тщательно описать каждое действие, типа почистить свёклу, сняв с неё 1,5 миллиметра поверхности, нарезать её на тонкие пласты и каждый пласт нарезать на кусочки 3*20 мм. Это подходит для простых задач. А в ФП мы пользуемся функцией, которая называется подготовить овощи для борща, и она выдает готовый ожидаемый результат. Но да, если раскапывать, а что там в функции, то можно докопать до более примитивной парадигмы)
@@DariaShatova не ответили. Разве в ФП нигде не нужно указывать, что нужно "снять 1,5 миллиметра поверхности" или "нарезать кусочки 3*20 мм". Из виде понял, что ФП это мудрёное и не особо полезное. Помимо этого ролика я знаю, что ФП хорошо параллелится, т.к. нет конкуренции за ресурс и нет блокировок. Но именно в ролике про это ничего не сказано.
спасибо за труд😊
Спасибо за комментарий! 🩷
А за что именно спасибо? Что ты понял из этого видео?
Спасибо от студентов!!!
😍🫶🏼
А за что именно спасибо? Что ты понял из этого видео?
Чем функциональное программирование отличается от структурного например сварить борщ?
Отличается чистотой функций, в структурном подходе они могут иметь побочные эффекты, а в ФП - нет.
В Структурном походе каждая функция выполняет конкретную задачу, а основная функция "приготовить борщ" последовательно вызывает их, чтобы приготовить борщ. Тут мы будем использовать функции для выполнения каждой отдельной задачи, а затем объединять их последовательно для достижения конечного результата.
В функциональном подходе мы будем использовать чистые функции и избегать побочных эффектов. Тут каждая функция возвращает новое состояние, не изменяя входные данные. Основная функция "приготовить борщ" последовательно передает результат одной функции в другую, чтобы приготовить борщ.
В общем, оба подхода могут быть эффективными и в зависимости от предпочтений программиста можно использовать хоть тот, хоть другой.
Структурный подход:
- Использует последовательность вызова функций.
- Изменяет состояние через переменные и функции с побочными эффектами.
- Фокусируется на шаг за шагом выполнении задач.
Функциональный подход:
- Использует чистые функции, которые возвращают новое состояние.
- Избегает изменения состояния, работая с неизменяемыми данными.
- Фокусируется на преобразовании данных через функции.
Эх. Elixir как по мне более приятный, но у нас скорее всего SCALA в основном, т.к много джавистов. А хаскел вообще мало кто освоит. : )
интересно, у нас про Elixir мало кто говорит)
@@DariaShatova про функциональные языке в целом не так часто говорят, т.к там своя ниша для математиков.
Получается функциональное программирование это тоже самое что и процедурное?
В процедурном подходе нужно тщательно описать каждое действие, типа почистить свёклу, сняв с неё 1,5 миллиметра поверхности, нарезать её на тонкие пласты и каждый пласт нарезать на кусочки 3*20 мм. Это подходит для простых задач. А в ФП мы пользуемся функцией, которая называется подготовить овощи для борща, и она выдает готовый ожидаемый результат. Но да, если раскапывать, а что там в функции, то можно докопать до более примитивной парадигмы)
@@DariaShatova не ответили. Разве в ФП нигде не нужно указывать, что нужно "снять 1,5 миллиметра поверхности" или "нарезать кусочки 3*20 мм". Из виде понял, что ФП это мудрёное и не особо полезное. Помимо этого ролика я знаю, что ФП хорошо параллелится, т.к. нет конкуренции за ресурс и нет блокировок. Но именно в ролике про это ничего не сказано.