Man skiller som regel ut nivåene man skriver kode i lavnivå- og høynivåprogrammering, men også markeringsspråk. Kort sagt består lavnivå-programmering av koding hvor det er svært få abstraksjoner, eller lag, mellom koden utvikleren skriver og instruksjonene som maskinen leser. Et eksempel på lavnivåprogrammering er maskinkode, mens programmering i høynivå vil for eksempel være Java eller C++. For markeringsspråk så blir dette ikke sett som programmering fordi dette ikke tillater å definere prosesser.