Vad är funktionell programmering?

Programmeringsparadigm – grundläggande koncept

Eleanor Thomas

Senior Data Analytics Engineer

Vad är funktionell programmering?

  • Funktionell programmering: ett programmeringsparadigm som bygger på funktioner, specifikt rena funktioner
  • Rena funktioner: en process som tar indatavärden, producerar utdatavärden enbart baserat på indatavärdena och inget annat
  • Ansvarsfördelning uppnås i funktionell programmering via funktioner

Indata, bearbetning, utdata

Programmeringsparadigm – grundläggande koncept

Vad är en ren funktion?

  • Begreppet ren funktion inom funktionell programmering kommer från matematiken
  • Rena funktioner tittar bara på indata och producerar bara utdata
  • Rena funktioner har inga "bieffekter"
  • Inga bieffekter innebär:
    • Ingen påverkan på andra variabler i programmet
    • Ingen skrivning till filer
    • Ingen lagring av information i en databas
Programmeringsparadigm – grundläggande koncept

Exempel på en ren funktion

Ren funktion

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

    return output

Inte en ren funktion

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

    print(output)

    return output
Programmeringsparadigm – grundläggande koncept

Fördelar med rena funktioner

  • Rena funktioner är lättare att förstå och felsöka
  • Testning av rena funktioner är enklare
  • Utdata för ett givet indata är helt förutsägbart
    • Liknar matematiska funktioner: 5 i kvadrat är alltid 25

Indata, utdata

Programmeringsparadigm – grundläggande koncept

Nu kör vi en övning!

Programmeringsparadigm – grundläggande koncept

Preparing Video For Download...