Paradigma dichiarativo si concentra su quel che si vuole ottenere, non sul come ottenerlo (a differenza del paradigma imperativo).
Se vogliamo fare un’analogia con i linguaggi naturali, il paradigma imperativo è associabile al modo imperativo dei verbi (es. “mangia la mela!”), mentre quello dichiarativo al modo indicativo dei verbi (es. “una mela è mangiata”).
Allo stesso modo, i linguaggi dichiarativi non specificano le istruzioni da eseguire per ottenere un determinato risultato, ma specificano esattamente il risultato che si vuole ottenere: per esempio, con i package manager imperativi come apt, dovremmo fare qualcosa del tipo:
sudo apt-get install neofetch
sudo apt-get install vim
sudo apt-get install htopCon i package manager dichiarativi come Nix, invece, abbiamo:
environment.systemPackages = with pkgs; [
neofetch
vim
htop
];Definizione: paradigma dichiarativo