El documento presenta una introducción a la evolución de los conceptos de abstracción de datos y control en los lenguajes de programación, desde los lenguajes de bajo nivel hasta los de alto nivel orientados a objetos. Describe los principales tipos de lenguajes como imperativos, funcionales, lógicos y orientados a objetos, así como los diferentes niveles de abstracción que han ido incorporando los lenguajes a lo largo del tiempo.