Varased arvutid programmeeriti, seadistades lülitite seeria ja vajutades samaväärset sisestusklahvi. Iga kirje sisaldas ühte juhist arvutile, mistõttu programmeerimine oli aeganõudev protsess. Programmeerimiskeeled töötati välja selle protsessi kiirendamiseks ja võimaldamaks rohkematel inimestel programmeerijaks saada. Nüüd on programmeerijal valida paljude keelte vahel ning nende keerukus ja kasutuslihtsus on erinevad madala tasemega keeled, mis on lähedasemad masinkeelele, kõrgetasemelistele keeltele, mis on lähemal inimesele keel.
Kõrge tase
Kõrgetasemelised programmeerimiskeeled lähenevad süntaksis inimkeelele ja on seetõttu inimestele hõlpsamini kasutatavad. Selline kaugus masinkeelest muudab kõrgetasemeliste keelte programmide kirjutamise lihtsamaks ja selliselt programmeerijalt nõutakse vähem tehnilisi oskusi. BASIC, populaarne alguskeel, on üks näide kõrgetasemelisest keelest. Nimi on tegelikult akronüüm, mis tähistab "Algaja universaalset sümboolset juhiste koodi". COBOL on kõrgetasemeline ärimaailmas kasutatav keel ja selle lähedus inglise keelele võimaldab vähem tehniliselt kvalifitseeritud töötajatel kirjutada COBOL-i programmid. Selle tulemuseks on COBOLi kasutava ettevõtte jaoks tohutu kulude kokkuhoid. Nende keelte puuduseks on see, et nad pakuvad tavaliselt ainult lihtteksti graafikat, kuna nad ei suuda toota madalama taseme keelte graafikat.
Päeva video
Keskmine tase
Keskmise taseme keeled on viimastel aastatel välja töötatud, et täita lõhet kõrge ja madala taseme keelte vahel. Paljud neist keeltest kuuluvad kategooriasse "objektorienteeritud" ja loend sisaldab selliseid keeli nagu C#, C++ ja Java. Need keeled on abiks personaalarvutites töötavate graafiliste kasutajaliideste väljatöötamisel, pakkudes "esiosa" vanadele suurarvutirakendustele, millega nad ühenduse loovad. See aitab programmeerijal endisele "rohelise ekraani" rakendusele "ilusa näo panna", mis võib olla tarkvaratoote konkurentsieelis. Kesktaseme keele programmeerijad kipuvad olema mõnevõrra tehniliselt osavamad kui kõrgetasemelised programmeerijad ja neile makstakse tavaliselt rohkem.
Madal tase
Madala tasemega keeled on inimkeelest kaugemal ja neid ei ole lihtne ühe pilguga lugeda. Keeled, nagu Assembler, nõuavad kõrgelt kvalifitseeritud tehnilisi inimesi, mille tulemuseks on tööandjale suuremad kulud. Süntaksi krüptiline olemus võib sõltuvalt tehniku oskuste tasemest põhjustada ka pikemaid tõrkeotsingu aegu. Personaalarvuti montaažikeeleprogrammid võivad toota vapustavat graafikat, kuid suurarvuti montaažikeeleprogramme kasutatakse tavaliselt utiliitidena, mis harva annavad väljundit.
Masina keel
Masinakeel on madalaima taseme keel, mis koosneb 1-dest ja 0-dest, mis on organiseeritud kaheksaliikmelistesse rühmadesse, et moodustada erinevaid märke. Iga 1 või 0 on "bitt" ja 8 bitti moodustavad "baidi". Just raskused varajaste arvutite programmeerimisel masinkeelt kasutades tingisid programmeerimiskeelte arendamise. Eespool nimetatud kategooriatesse kuuluvates keeltes kirjutatud programmid "kompileeritakse" tavaliselt masinkeelde, et arvuti saaks neid lugeda. Programmeerijad, kes oskavad lugeda ja mõistavad masinkeelt, on kõrgelt kvalifitseeritud ja neil on kõrged palgad.