Računalnikarji pišemo programe v programskih jezikih. Teh je na tisoče in vsak od njih na svoj način nudi programerju čim lažji zapis programa. Žal pa računalnik razume en sam jezik: strojni jezik procesorja, ki je vgrajen v računalnik. Zato potrebujemo posebne programe, ki jim pravimo prevajalniki in jih uporabljamo za prevajanje enega programskega jezika v drugega, včasih pa si pomagamo še s programi, ki jim pravimo navidezni stroji in omogočijo izvajanje programa v jeziku, ki ga sam procesor ne razume. Prevajalnike in navidezne stroje si moramo računalnikarji sestaviti sami. A četudi nam jih sestavijo drugi računalnikarji, moramo zelo dobro razumeti, kako prevajalniki in navidezni stroji delujejo, kaj zmorejo, česa ne zmorejo in česa sploh nikoli ne bodo zmogli. Le tako jih namreč lahko pravilno uporabljamo in z njimi izdelamo učinkovite programe. Prevajalnike najbolje spoznamo, če kakšnega sestavimo sami. Pri izdelavi posameznega prevajalnika moramo znati z računalnikom analizirati prevajani program, ki je napisan v enem programskem jeziku, in nato sestaviti program, ki počne isto, a je napisan v nekem drugem programskem jeziku. Pri sestavljanju prevoda s prevajalnikom najlažje ugotovimo, kakšen program lahko učinkovito prevedemo, iz tega pa se naučimo, kako pisati učinkovite programe. Podobno je z navideznimi stroji. Šele ko spoznamo notranjo zgradbo kakega obstoječega navideznega stroja ali pa sestavimo kakšnega sami, razumemo omejitve, ki so jim podrejeni navidezni stroji, da lahko učinkovito izvajajo programe. Programiranje vam spremeni pogled na svet - razumevanje prevajalnikov pa vam spremeni pogled na progamiranje... Zelo preprosto: predmet za računalnikarje, ki uživajo v programiranju.