En funktion i programmering är ett självständigt kodblock som utför en specifierad uppgift. Funktioner kapslar in en uppsättning instruktioner som kan kallas upp vid behov med hjälp av funktionsnamnet. Varje funktion bör vara utformad för att utföra en specifik uppgift, vilket bidrar till ökade läsbarhet och enkelhet i koden. Funktioner kan ta emot parametrar (ingångsvärden) och kan returnera ett resultat (utgångsvärde).
Funktioner i programmering ger också förmågan till återanvändning av kod. När en funktion är definierad kan samma funktion användas om och om igen i andra delar av programmet vilket sparar tid, förminskar chansen för fel och gör koden mer begriplig. Funktioner gör det även möjligt att göra ändringar på ett ställe som sedan påverkar alla delar av koden där funktionen används, vilket innebär att vid förändringar blir det mycket mindre komplicerat.
Funktioner bidrar också till en ökad grad av modularitet i koden. Ett program kan brytas ner i mindre, hanterbara moduler i form av funktioner. Varje funktion är en separat modul som kan utvecklas, testas och felsökas på egen hand, vilket gör det betydligt enklare att arbeta på större projekt, särskilt i team.