Programlingvo estas formala artefarita lingvo, kreita por transdoni komandojn al aparatoj, plejofte al komputiloj. Programlingvoj estas uzataj por krei programojn kiuj kontrolas la konduton de ia aparato kaj por esprimi algoritmojn.
Nuntempe ekzistas miloj da programlingvoj, kaj ĉiujare aperas kelkaj lingvoj. Iuj el ili postulas, ke la komputado estu indikita en la imperativa formo (t.e., kiel sinsekvo de ordonoj por plenumi), dum aliaj uzas kromajn formojn de programoj, ekzemple la deklaran formon (kiam oni indikas la deziratan rezulton kaj ne precizigas la vojon por atingi ĝin).
La priskribo de ĉiu programlingvo kutime konsistas el du partoj: sintakso, aŭ kiel oni skribas, kaj semantiko, aŭ kion signifas ĉiu vorto en la lingvo. Por kelkaj lingvoj ekzistas normiga dokumentado, kiu servas kiel ĉefa referenco por multaj efektivigoj (ekzemple C, Java), dum ĉe aliaj lingvoj ekzistas unu klasika referenca efektivigo, kiun oni traktas kiel normigan (ekz. ĉe Perl). Kelkaj lingvoj havas ambaŭ.