1. generacija – strojni jezik
Je sestavljen iz ničel in enk. Strojno kodo računalnik izvaja najhitreje, sej jo procesor izvaja direktno. Vendar je strojni jezik zelo težek za učenje, iskanje napak in urejanje je oteženo zaradi velikega števila ukazov, programi so zelo nepregledni ter niso prenosljivi.
2. generacija – zbirnik
Operacijska koda ukaza je določena z mnemoniki, zato je koda bolj berljiva in enostavnejša za pisanje, vendar more biti pred izvajanjem prevedena v strojni jezik. Zbirnik je odvisen od strojne opreme, programi niso prenosljivi. Programi so še vedno nepregledni.
3. generacija – višje nivojski jeziki
To so splošni jeziki, ne vsebujejo podrobnosti, po katerih se razlikujejo posamezni tipi računalnikov. Ljudem omogočajo enostavnejše programiranje, imajo majhen nabor ukazov, programi pa so prenosljivi v obliki izvorne kode.
4. generacija – 4GL
Jeziki so načrtovani za določen namen, njihov cilj je dvig produktivnosti in uporabniške prijaznosti, krajšanje razvojnih ciklov in nižanje stroškov. Obstajajo različni tipi: generatorji poročil, generatorji obrazcev, CASE orodja, 4GL za upravljanje s pdoatki.
5. generacija – 5GL
Temeljijo na reševanju problemov z uporabo pogojev, ki jih podamo v programu in ne na algoritmu, ki bi ga zapisal programer. Programer se ukvarja le s problemom ki mora biti rešen in pogoji ki morajo biti za to izpolnjeni z načinom reševanja pa se ne ukvarja.