Kompiuterio kalba yra „kalba“, sudaryta iš formalios sintaksės ir semantikos, leidžiančios vartotojams perduoti instrukcijas kompiuterinėms sistemoms. Programavimo kalbos yra labiausiai paplitę kompiuterių kalbų pavyzdžiai, todėl terminai „kompiuterio kalba“ ir „programavimo kalba“ dažnai vartojami pakaitomis. Kompiuteris negali dirbti su žmogaus kalba ir daugeliu atvejų žmogus negali efektyviai dirbti dvejetainiu kompiuteriu, todėl aukštesnio lygio kalba yra būtina, kad programuotojai galėtų duoti nurodymus kompiuterių sistemoms. Yra keletas kompiuterių kalbų tipų. Skirtingi programuotojai pasirenka naudoti vieną ar daugiau kalbų dėl asmeninių pageidavimų, ypatingų tam tikros kalbos galimybių ir projekto poreikių.
Sintaksė ir semantika arba struktūra ir reikšmė yra dvi kompiuterinės kalbos charakteristikos, kurias galima palyginti su žmonių kalbų gramatika ir žodynu. Skirtingi programavimo terminai turi būti pateikiami tam tikra tvarka ir pažymėti tam tikrais skyrybos ženklais ir tarpais, kad kompiuteris juos suprastų. Apskritai šie kompiuterių kalbos apribojimai yra daug griežtesni nei žmonių kalbų apribojimai. Žmogaus kalba dažnai vis dar gali būti suprantama net ir turint gramatikos ir žodžių vartojimo problemų, tačiau kompiuterių interpretacinės galios yra palyginti ribotos; Net ir dėl nedidelių tarpų problemų daugeliu kalbų bus rodomas klaidos pranešimas, nes kompiuteris negalės vykdyti pateiktų instrukcijų.
Žmonių kalbos skirtos tam, kad individai galėtų bendrauti vieni su kitais. Tai gali apimti diskusiją, komandą, tardymą, pareiškimą ir daugybę kitų bendravimo formų. Kita vertus, kompiuterinės kalbos paskirtis paprastai yra pateikti aiškias instrukcijas, kurių kompiuteris turi laikytis, todėl tokios kalbos paprastai yra būtinos. Tačiau kai kurios kompiuterių kalbos yra pagrįstos loginėmis išraiškomis arba matematinėmis formulėmis. Kompiuterių kalbos sumažinimas iki matematinių ar loginių išraiškų gali padėti sumažinti šalutinio poveikio, kurį gali sukelti kai kurios privalomosios išraiškos, galimybes, tačiau taip pat gali apsunkinti programavimą tiems, kurie neturi didelių matematinių įgūdžių.
Kompiuterių kalbos laikui bėgant keičiamos ir tobulinamos, kad geriau atitiktų vartotojų poreikius ir neatsiliktų nuo technologijų pažangos. Modifikacijos apima sintaksės ir semantikos pakeitimus, taip pat bendro funkcionalumo padidinimus ir papildymus. Pavyzdžiui, šiuolaikinė kompiuterio kalba gali būti atnaujinta iš senesnės versijos, kad būtų naudojami procesoriai su keliais branduoliais. Kalbos taip pat optimizuotos programavimo programoms mobiliesiems įrenginiams.