Un linguaggio di programmazione ad alto livello è un linguaggio di programmazione diverso dal linguaggio macchina, direttamente eseguibile da un computer, ma più vicino o familiare alla logica del nostro linguaggio naturale. L’idea di fondo è che i programmi ad alto livello possono essere ricondotti a programmi in linguaggio macchina in modo automatico, ovvero da un altro programma.