Este documento describe la evolución de los lenguajes de programación, dividiéndolos en tres categorías: lenguajes de máquina, lenguajes de ensamblaje y lenguajes de alto nivel. Los lenguajes de alto nivel se subdividen en tres generaciones (3GL, 4GL y 5GL), siendo cada generación más poderosa y fácil de usar que la anterior. Se proporcionan ejemplos como C#, Java y Visual Basic para ilustrar diferentes lenguajes de programación.