La aparición de la POO
Orígenes de la POO
La programación es el proceso mediante el cual cualquier necesidad (cálculos matemáticos, uso de un instrumento musical, tejido, etc.) se transforma en una secuencia de instrucciones ejecutadas por un autómata. Mucho antes que las computadoras, los inventores encontraron una forma de hacer que las máquinas realizaran ciertas tareas repetitivas (operaciones matemáticas simples, activar los fuelles de un órgano, etc.).
A principios del siglo XIX, Joseph Jacquard (inventor francés del telar) creó un telar programable utilizando tarjetas perforadas, lo que permitió tejer patrones complejos con menos trabajo. Esta invención se considera el primer autómata programable, el antepasado del ordenador.
A partir de 1812, un matemático británico llamado Charles Babbage decidió diseñar una máquina que pudiera calcular con precisión tablas matemáticas. De hecho, antes de la llegada de las calculadoras, los resultados de las operaciones trigonométricas o logarítmicas se enumeraban en tablas, que eran utilizadas por astrónomos y cartógrafos. Siendo el error humano, estas tablas a menudo estaban plagadas de errores, lo que provocó un buen número de accidentes de navegación. Charles Babbage, inspirado por Blaise Pascal (matemático francés) y su máquina aritmética Pascaline, se propone diseñar dicha máquina.
En 1842, la matemática Ada Lovelace tradujo al inglés una memoria de Charles Babbage sobre esta famosa máquina analítica, que funcionaba con las tarjetas perforados de Jacquard. Su traducción estaba intercalada...
Necesidad de un lenguaje de más alto nivel
Frente a la mejora exponencial en las capacidades de memoria y velocidad de computación, la informática comenzó a abrirse paso en los sectores industriales. Los lenguajes de programación se debían adaptar para poder utilizarse fuera del ámbito académico y militar, y responder a los diversos problemas que se presentaban en las empresas (bancos, seguros, gestión de inventarios, nóminas, etc.). Para difundir la programación informática en el mundo, era necesario abstraerse más de la máquina para centrarse en el lado humano, es decir, inventar lenguajes de alto nivel.
Cuanto más se acerca un lenguaje al lenguaje binario de la máquina, de más bajo nivel es. Por el contrario, cuanto más se abstrae un lenguaje de la máquina y se acerca a una forma humana de pensar, se califica como de más alto nivel.
Tan pronto como nos alejamos del binario, las posibilidades de expresión se vuelven infinitas y los estilos de programación, así como los lenguajes que los acompañan, se multiplican. Con la popularización de la herramienta informática, las necesidades se vuelven cada vez más complejas y los programas requieren de herramientas cada vez más prácticas y elaboradas, para aportar respuestas de forma rápida y eficaz.
Entonces surgieron varios paradigmas de programación, entre ellos el paradigma imperativo. Como su nombre indica, los programas que describe son una serie de comandos que debe ejecutar el ordenador con el objetivo de cambiar valores en áreas de memoria. La programación orientada a objetos ha enriquecido este paradigma imperativo, para facilitar la transposición de problemas industriales concretos en algoritmos ejecutables por el ordenador.
Si hoy están surgiendo nuevos paradigmas de programación, en particular en respuesta al crecimiento extremo de la Web...