Los programas que ejecutan los ordenadores tienen que escribirse siguiendo unas normas determinadas de manera que el ordenador entienda de qué instrucciones consta y de qué manera tiene que ejecutarlas. Este conjunto de normas se denomina lenguaje de programación. De la misma manera que las personas se comunican entre ellas mediante un lenguaje, los lenguajes de programación permiten la comunicación entre las personas y los ordenadores, y también entre ordenadores.
Existe una multitud de lenguajes diferentes, cada uno pensado y adaptado a una necesidad específica. Los hay desde los más próximos al funcionamiento físico del ordenador, los lenguajes de bajo nivel, hasta los que intentan reproducir modelos de la realidad, con diferentes grados de abstracción, y sin tener en cuenta el hardware que pueda haber debajo, los lenguajes de alto nivel.