Uma linguagem de programação é uma linguagem informática formal concebida para comunicar instruções a uma máquina, nomeadamente um computador. As linguagens de programação podem ser utilizadas para criar programas de controlo do comportamento de uma máquina ou para exprimir algoritmos. A máquina programável mais antiga conhecida precedeu a invenção do computador digital e é o tocador automático de flauta descrito no século IX pelos irmãos Musa em Bagdade, "durante a Idade de Ouro Islâmica". A partir do início do século XIX, foram utilizados "programas" para dirigir o comportamento de máquinas como os teares Jacquard e os pianos. Foram criadas milhares de linguagens de programação diferentes, principalmente no domínio da informática, e muitas outras continuam a ser criadas todos os anos. Muitas linguagens de programação exigem que a computação seja especificada de forma imperativa (ou seja, como uma sequência de operações a efetuar), enquanto outras linguagens utilizam outras formas de especificação de programas, como a forma declarativa (ou seja, especifica-se o resultado pretendido, mas não a forma de o obter). A descrição de uma linguagem de programação é geralmente dividida em duas componentes: sintaxe (forma) e semântica (significado).