Quando si usa la programmazione funzionale?

Concetti dei paradigmi di programmazione

Eleanor Thomas

Senior Data Analytics Engineer

Applicazioni della programmazione funzionale

  • Machine learning, deep learning, intelligenza artificiale
  • Analisi e processamento di grandi dataset
  • Data engineering (es. in Scala e Clojure)

Elaborazione dati

Concetti dei paradigmi di programmazione

Esempio di programmazione funzionale

def process_data(raw_data):
    processed_data = raw_data

    ... further processing steps here! ...

    return processed_data
  • La funzione prende l'input in raw_data
  • Crea una nuova variabile di output, processed_data
  • Esegue una serie coerente di passi per processare i dati
  • Restituisce processed_data
Concetti dei paradigmi di programmazione

Pro e contro della programmazione funzionale

PRO

  • Più facile leggere e fare debug di funzioni pure
  • Più facile testare funzioni pure
  • Meno effetti indesiderati nel codice
  • Funzioni pure molto riutilizzabili tra progetti
  • Esecuzione parallela di funzioni per velocizzare il codice

CONTRO

  • Abituarsi al paradigma è difficile e può sembrare limitante: gli "effetti collaterali" (scrivere file, ecc.) sono spesso ciò che vogliamo fare
  • Meno esperti, tool e framework disponibili
  • Curva di apprendimento ripida e poche risorse didattiche
  • Maggiore uso di memoria limita le applicazioni
Concetti dei paradigmi di programmazione

Programmazione funzionale e dichiarativa

  • La programmazione funzionale è un tipo di programmazione dichiarativa
  • Dichiarativa: dici al computer cosa fare, non come farlo
  • La programmazione funzionale è solo un tipo di programmazione dichiarativa
  • Il programmatore indica quali funzioni eseguire, non i passi dettagliati

La programmazione funzionale è dichiarativa

Concetti dei paradigmi di programmazione

Passiamo alla pratica !

Concetti dei paradigmi di programmazione

Preparing Video For Download...