Si può pensare ada un'applicazione che scriva le parole "[[Hello world]]" su uno schermo con vari livelli di astrazione:
# Scrivere tutto da soli:
Riga 41:
## Aprire il documento con un [[web browser]].
Ovviamente, lL'approccio del primo livello richiede molti passaggi ede ognuno di questi è molto più complesso di quelli dei livelli successivi. Altro svantaggio del primo approccio è che è poco pratico utilizzarlo nel caso in cui sia necessario visualizzare una certa quantità di informazioni sullo schermo; col secondo approccio l'operazione è molto più semplice, e nel terzo è sufficiente scrivere "Hello World". In genere utilizzare API di livello più alto comporta una certa perdita di flessibilità; per esempio, potrebbe essere molto difficile a livello di web browser ruotare attorno ada un punto un testo con i bordi lampeggianti, mentre questo compito potrebbe essere svolto in modo semplice ada un livello più basso. Questa differenza è un tipico esempio di compromesso che si può incontrare utilizzando un'API.