Los lenguajes de programación permiten comunicar instrucciones a las computadoras en un lenguaje que puedan entender. Existen lenguajes de bajo y alto nivel, siendo estos últimos más fáciles de usar pero requieren ser traducidos a código de máquina antes de ejecutarse. La programación orientada a objetos utiliza objetos como unidades básicas y conceptos como encapsulamiento, herencia y polimorfismo.