Czym jest programowanie funkcyjne?

Koncepcje paradygmatów programowania

Eleanor Thomas

Senior Data Analytics Engineer

Czym jest programowanie funkcyjne?

  • Programowanie funkcyjne: paradygmat programowania oparty na funkcjach, w szczególności czystych funkcjach
  • Czyste funkcje: proces przyjmujący wartości wejściowe, zwracający wartości wyjściowe wyłącznie na ich podstawie, bez wykonywania innych operacji
  • Podział odpowiedzialności w programowaniu funkcyjnym jest realizowany za pomocą funkcji

Wejście, Przetwarzanie, Wyjście

Koncepcje paradygmatów programowania

Czym jest czysta funkcja?

  • Koncepcja czystej funkcji w programowaniu funkcyjnym pochodzi z matematyki
  • Czyste funkcje jedynie przyjmują wejście i jedynie produkują wyjście
  • Czyste funkcje nie mają „efektów ubocznych"
  • Brak efektów ubocznych oznacza:
    • Brak wpływu na inne zmienne w programie
    • Brak zapisu do plików
    • Brak zapisywania danych do bazy danych
Koncepcje paradygmatów programowania

Przykład czystej funkcji

Czysta funkcja

def pure_sum(x, y):
    output = x + y

    return output

Nieczysta funkcja

def not_pure_sum(x, y):
    output = x + y

    print(output)

    return output
Koncepcje paradygmatów programowania

Zalety czystych funkcji

  • Czyste funkcje są łatwiejsze do zrozumienia i debugowania
  • Testowanie czystych funkcji jest prostsze
  • Wynik dla danego wejścia jest w pełni przewidywalny
    • Podobnie jak w matematyce: 5 do kwadratu to zawsze 25

Wejście, Wyjście

Koncepcje paradygmatów programowania

Czas na ćwiczenia!

Koncepcje paradygmatów programowania

Preparing Video For Download...