Računalni jezik je “jezik” sastavljen od formalne sintakse i semantike koji korisnicima omogućuju prenošenje instrukcija računalnim sustavima. Programski jezici su daleko najčešći primjeri računalnih jezika, pa se pojmovi “računalni jezik” i “programski jezik” često koriste naizmjenično. Računalo ne može raditi s ljudskim jezikom i, u većini slučajeva, čovjek ne može učinkovito raditi u računalnoj binarnosti, pa je neophodan jezik više razine kako bi se programerima omogućilo davanje instrukcija računalnim sustavima. Postoji nekoliko vrsta računalnih jezika. Različiti programeri odlučuju koristiti jedan ili više jezika zbog osobnih preferencija, posebnih mogućnosti određenog jezika i zahtjeva projekta.
Sintaksa i semantika, odnosno struktura i značenje, dvije su definirajuće karakteristike računalnog jezika i mogu se usporediti s gramatikom i rječnikom ljudskih jezika. Različiti programski termini moraju biti postavljeni posebnim redoslijedom i označeni posebnim interpunkcijskim znakovima i razmacima kako bi ih računalo razumjelo. Općenito, ova ograničenja na računalni jezik mnogo su stroža od onih na ljudskim jezicima. Ljudski jezik se često još uvijek može razumjeti čak i uz probleme s gramatikom i upotrebom riječi, ali interpretativne moći računala su relativno ograničene; čak i manji problemi s razmakom će, na mnogim jezicima, rezultirati porukom o pogrešci, jer računalo neće moći slijediti dane upute.
Ljudski jezici imaju za cilj omogućiti pojedincima da međusobno komuniciraju. To može uključivati raspravu, zapovijedanje, ispitivanje, izjavu i mnoge druge oblike komunikacije. Svrha računalnog jezika je, s druge strane, općenito pružiti eksplicitne upute koje računalo treba slijediti, tako da su takvi jezici općenito imperativne prirode. Neki računalni jezici, međutim, prvenstveno se temelje na upotrebi logičkih izraza ili matematičkih formula. Svođenje računalnog jezika na matematičke ili logičke izraze može pomoći u smanjenju mogućnosti nuspojava koje mogu proizaći iz nekih imperativnih izraza, ali također može otežati programiranje onima koji nemaju opsežne matematičke vještine.
Računalni jezici se mijenjaju i razvijaju tijekom vremena kako bi bolje zadovoljili potrebe svojih korisnika i kako bi bili ukorak s tehnološkim napretkom. Izmjene uključuju promjene u sintaksi i semantici, kao i povećanja i dodatke cjelokupnoj funkcionalnosti. Suvremeni računalni jezik može se, na primjer, ažurirati sa starije verzije kako bi se koristili procesori s više jezgri. Jezici su također optimizirani za programiranje aplikacija za mobilne uređaje.