In informatica e in particolare nella programmazione, una funzione è un'unità di organizzazione del codice che permette di raggruppare una sequenza di istruzioni in un unico blocco, caratterizzato da un nome, dei parametri in ingresso (detti argomenti) e uno o più dati restituiti in uscita. Si tratta effettivamente di un'evoluzione del concetto di procedura.[1]
L'importanza, la praticità e i vantaggi di una funzione stanno nel fatto che può essere "chiamata" ("richiamata", "invocata" o "attivata") in diversi punti del programma di cui fa parte ogni volta in cui si ha la necessità di farlo come se fosse una singola istruzione senza la necessità di doverne riscrivere ogni volta il relativo codice implementando dunque il cosiddetto riuso di codice, cui si aggiunge una più facile manutenibilità del codice all'interno del programma e una più facile progettazione del software secondo la classica filosofia del divide et impera.