La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. Un lenguaje de alto nivel logra la independencia del tipo de máquina y se aproxima al lenguaje natural, mientras que un lenguaje de máquina es directamente interpretable por un circuito microprogramable como un microprocesador. La programación orientada a objetos usa objetos y sus interacciones para diseñar aplicaciones basadas en herencia, abstracción, polimorfismo y encapsulamiento.