Este documento describe tres tipos de lenguajes de programación: lenguajes de bajo nivel, lenguajes de nivel medio y lenguajes de alto nivel. Los lenguajes de bajo nivel se ejecutan directamente en hardware, los lenguajes de nivel medio incluyen ensamblador y se basan en lenguajes de bajo nivel, y los lenguajes de alto nivel como Java y C++ son más cercanos al lenguaje humano. También distingue entre lenguajes imperativos, declarativos y orientados a objetos.