Коли використовують функційне програмування?

Концепції парадигм програмування

Eleanor Thomas

Senior Data Analytics Engineer

Застосування функційного програмування

  • Машинне навчання, глибоке навчання, штучний інтелект
  • Аналіз і обробка великих наборів даних
  • Застосунки дата-інженерії (напр., у Scala та Clojure)

Обробка даних

Концепції парадигм програмування

Приклад функційного програмування

def process_data(raw_data):
    processed_data = raw_data

    ... further processing steps here! ...

    return processed_data
  • Функція приймає вхідні дані у raw_data
  • Функція створює нову змінну для результату, processed_data
  • Функція виконує сталу послідовність кроків для подальшої обробки
  • Функція повертає processed_data
Концепції парадигм програмування

Плюси та мінуси функційного програмування

ПЛЮСИ

  • Чисті функції легше читати й налагоджувати
  • Чисті функції легше тестувати
  • Менше неочікуваних наслідків у коді
  • Чисті функції добре перевикористовні між проєктами
  • Можна запускати різні функції паралельно, пришвидшуючи код

МІНУСИ

  • Складно звикнути до такого мислення; може обмежувати: «побічні ефекти» (запис у файли тощо) — це часто саме те, що нам потрібно в програмуванні
  • Менше фахівців, інструментів і фреймворків для функційного підходу
  • Крутіша крива навчання й менше навчальних матеріалів
  • Більше використання пам'яті обмежує застосування
Концепції парадигм програмування

Функційне та декларативне програмування

  • Функційне програмування — це різновид декларативного програмування
  • Декларативне програмування: сказати комп'ютеру, _що_ робити, а не _як_ це робити
  • Функційне програмування — лише один тип декларативного підходу
  • Програміст задає, які функції виконати, а не точні кроки

Функційне програмування є декларативним

Концепції парадигм програмування

Давайте потренуємось!

Концепції парадигм програмування

Preparing Video For Download...