• Programovací paradigma … styl programování

Procedurální (imperativní) programování

  • Program je složen z funkcí, které vykonávají sekvenci příkazů (výrazů)
  • Používá externí vedlejší efekt
  • Data a funkce jsou oddělené (globální proměnné a předávají si výsledky mezi sebou)
  • Tok programu se řídí pomocí přesné sekvence příkazů
  • Definované funkce se snažíme použít opakovaně
  • Např. C, Pascal, Fortran
  • Použití: Jednoduché aplikace, vestavěné systémy, OS

Vedlejší efekt

  • Změna systému, která nastává mimo výstup funkce/metody. Ovlivní externí prostředí. Nedá se zpětně zjistit.

  • Např. změna globální proměnné, tisk na obrazovku

Funkcionální programování

  • Jde o deklarativní programovací paradigma (co se má udělat, nikoliv jak)
  • Program se skládá z funkcí, které nemění stav programu
  • Funkce můžeme považovat za hodnoty (předávat jako argumenty nebo vracet)
  • Bez vedlejších efektů (transparentnost)
  • Preferujeme rekurzi místo cyklů
  • Např. Haskell, Lisp, OCaml
  • Použití: paralelní nebo matematické výpočty

Objektově orientované programování

  • Program je modelován jako sada objektů, které mají vlastnosti a můžou mezi sebou mít vztahy
  • Třída je šablonou a objekt pak konkrétní instancí
  • Nutnost držet se několika důležitých principů: zapouzdření, dědičnost, polymorfismus
  • Např. Java, C#, C++
  • Použití: GUI, hry, větší aplikace