Å programmere en datamaskin er å lage en bruksanvisning som forteller en datamaskin hvordan den skal utføre en oppgave.
I praksis vil dette idag si å:
Språk som Java, C# og AS kompileres egentlig til en virtuell
maskin som ikke er en ordentlig maskin,
men en kunstig datamaskin som simuleres i et program i den
virkelige maskinen.
Fordelen med en virtuell maskin er at programmene da i teorien
kan kjøres på forskjellige mikroprosessorer
og operativsystem, forutsatt at noen har laget en versjon av den
virtuelle maskinen som kjører på disse
andre mikroprosessorene og operativsystemene.
Ulempen er at programmene går litt langsommere.