In un linguaggio di programmazione un'espressione è un costrutto che combina uno o più valori (ad esempio costanti o variabili), utilizzando operatori e funzioni. Le operazioni e le funzioni sono interpretate (valutate) secondo particolari regole di precedenza e di associazione per un particolare linguaggio di programmazione, producendo un valore. L'ordine di precedenza tra operatori stabilito dal linguaggio può normalmente essere alterato mediante parentesi.
Si dice che l'espressione restituisce un valore, o che valuta questo valore.
Se il linguaggio utilizzato è tipizzato, le espressioni sono sottoposte alle regole sui tipi di dato.
Come in matematica, l'espressione è (o si può dire ha) il suo valore valutato, ma la valutazione di una stessa espressione può dare valori diversi in diversi momenti dell'esecuzione del programma.
Le espressioni possono o non possono avere effetti collaterali; se ne hanno perdono la trasparenza referenziale. Un esempio di espressioni sono le cosiddette espressioni regolari.