Druga generacija programskih jezika
Druga generacija programskih jezika (2GL) predstavljaju simbolički asembleri. Za razliku od kombinacija nula i jedinica (binarnog koda) se koriste simboli ili mnemonici. Prvi put se programi počinju prevoditi (kompajlirati). Uvode se i podprogrami, a jezički procesi se dijele na prevođenje i tumačenje. Jezici druge generacije su se ponekada koristili u kernelima i drajverima za uređaje (iako se C općenito koristi za ovo u modernim kernelima), ali mnogo češće su nalazili upotrebu u izuzetno intenzivnim procesima, kao što su igre, uređivanje videa, i grafička manipulacija/renderiranje.