La portabilitat és un dels conceptes clau en la programació d'alt nivell.
Es defineix com la capacitat d'un programari per executar-se en diferents plataformes, el codi font del programari és capaç de reutilitzar-se en lloc de crear-se un nou codi quan el programari passa d'una plataforma a una altra. Com més gran és la portabilitat, menys dependent és el programari respecte a la plataforma.[1]
El prerequisit per la portabilitat és l'abstracció generalitzada entre l'aplicació lògica i les interfícies del sistema. Quan un programari es pot compilar en diverses plataformes (x86, IA64, amd64, etc.), es diu que és multiplataforma. Aquesta característica és important per reduir costos quan es vol fer una mateixa aplicació.
En alguns casos, el programari és "independent" de la plataforma i pot executar-se en diverses plataformes sense necessitat de ser compilat específicament per cadascuna d'elles, a aquest tipus de programari se l'anomena "interpretat". Un "intèrpret" tradueix (pròpiament interpreta) les instruccions en temps d'execució perquè siguin enteses per diferents plataformes.