Jazyky nižšej úrovne
Týmto termínom nazývame jazyky, ktoré svojou prehľadnosťou a ľahkosťou programovania stoja síce nad čistým strojovým kódom, ale zostávajú viazané na konkrétny počítač. Programy napísané v nich nie sú prenosné na iný počítač.
Historicky sa vyvinuli tri typy takýchto jazykov:
Jazyky relatívnych adries
Program je rovnako ako v strojovom kóde rozložený až na jednotlivé strojové inštrukcie, ale adresy v nich sú počítané relatívne voči určitej základnej (bázickej) adrese. Program je preto nezávislý na konkrétnom umiestnení v pamäti, relatívne adresy sa pred spustením musia transformovať na adresy reálne.
Jazyky symbolických adries (50te roky)
U týchto jazykov sú adresy nahradené názvami, každému názvu zodpovedá určitá konkrétne adresa, ktorú zvyčajne priraďuje prekladač a nie programátor. Takmer vždy sa pre zvýšenie prehľadnosti, v symbolickom tvare zapisujú aj kódy operácií, napríklad inštrukcia ukladá do pamäte (store) sa zapíše skratkou ST.
JSA sú ďaleko najrozšírenejšie (v súčasnej dobe prakticky jediné používané) jazyky nižšej úrovne.
Autokódy
Boli to jazyky na pol ceste medzi jazykmi nižšej a vyššej úrovne. Boli síce viazané na konkrétny typ počítača, ale zbavili sa už pravidla: jeden príkaz jazyka = jedna strojová inštrukcia. V súčasnej dobe sa prakticky nepoužívajú, pretože boli nahradené jazykmi vyššej úrovne.