Kiedy stosuje się programowanie funkcyjne?

Koncepcje paradygmatów programowania

Eleanor Thomas

Senior Data Analytics Engineer

Zastosowania programowania funkcyjnego

  • Uczenie maszynowe, głębokie uczenie, sztuczna inteligencja
  • Analiza i przetwarzanie dużych zbiorów danych
  • Inżynieria danych (np. w Scala i Clojure)

Przetwarzanie danych

Koncepcje paradygmatów programowania

Przykład programowania funkcyjnego

def process_data(raw_data):
    processed_data = raw_data

    ... further processing steps here! ...

    return processed_data
  • Funkcja przyjmuje dane wejściowe przechowywane w raw_data
  • Funkcja tworzy nową zmienną dla danych wyjściowych: processed_data
  • Funkcja wykonuje określony zestaw kroków przetwarzania danych
  • Funkcja zwraca processed_data
Koncepcje paradygmatów programowania

Zalety i wady programowania funkcyjnego

ZALETY

  • Czyste funkcje są łatwiejsze do czytania i debugowania
  • Czyste funkcje są łatwiejsze do testowania
  • Mniej nieoczekiwanych skutków ubocznych w kodzie
  • Czyste funkcje są łatwo wielokrotnie używane w różnych projektach
  • Różne funkcje można uruchamiać równolegle, przyspieszając kod

WADY

  • Trudno przyzwyczaić się do tego paradygmatu; "efekty uboczne" (zapis do plików itp.) to często to, czego chcemy
  • Mniej ekspertów, narzędzi i frameworków dla programowania funkcyjnego
  • Stroma krzywa uczenia się i mniej zasobów edukacyjnych
  • Większe zużycie pamięci ogranicza zastosowania
Koncepcje paradygmatów programowania

Programowanie funkcyjne a deklaratywne

  • Programowanie funkcyjne to rodzaj programowania deklaratywnego
  • Programowanie deklaratywne: mówimy komputerowi _co_ zrobić, nie jak
  • Programowanie funkcyjne to jeden z typów programowania deklaratywnego
  • Programista określa, jakie funkcje wykonać, nie podając dokładnych kroków

Programowanie funkcyjne jest deklaratywne

Koncepcje paradygmatów programowania

Czas na ćwiczenia!

Koncepcje paradygmatów programowania

Preparing Video For Download...