De fleste dataprogrammer blir i dag lagd på den måten at de skrives i et såkalt høynivåspråk, som er lett å lære og tillater rask programvareutvikling. Det forekommer også at programmer blir skrevet på lavnivåspråk (assembler), som er en mer abstrakt og krevende ting å lære seg, men som tillater utvikling av løsninger som benytter seg av datamaskinens muligheter på en optimal måte.