POO: Introducción
Entenderemos, de manera simplista, que un programa es un conjunto de instrucciones o sentencias que permiten a una computadora, en unas ocasiones, realizar una tarea y, en otras, una diferente.
En las primeras computadoras la programación se realizaba modificando el hardware de las mismas. Se cableaban las unidades de memoria y las unidades de cálculo.
Más adelante se inventaron los lenguajes. Los más primitivos fueron los denominados lenguajes máquina. Estos lenguajes se basaban en el hardware, con lo que cada máquina tenía su propio lenguaje y por ello la programación era un trabajo costoso, válido sólo para esa máquina en concreto.
Ante la complejidad de los problemas que potencialmente se entendía poder abordar por la computadoras, partir de los años 50 se desarrollaron los primeros lenguajes de programación de alto nivel, también llamados código fuente. Estos lenguajes necesitaban de un traductor que los pasara a lenguaje máquina. Se denominan, según el caso, Compiladores o Interpretes.
Los compiladores hacen la traducción del código fuente obteniendo código objeto y la computadora ejecuta directamente dicho código objeto, sin necesidad de acceder al lenguaje de alto nivel.
Los intérpretes, para cada ejecución de un determinado programa, acceden al lenguaje de alto nivel y lo van traduciendo a medida que va trascurriendo la ejecución.
Los Lenguajes Orientados a Objetos (LOO), son los que están basados en la modelización de los objetos del mundo real o incluso virtual. Estos objetos tienen una representación en el mundo real a base de una serie de características que interesan para el problema a resolver, por ejemplo una persona tiene un nombre, una fecha de nacimiento, unos estudios, etc., o por ejemplo, una teoría científica tiene un o unos creadores, una tesis, un fundamento, un o unos detractores, etc. (observemos que los creadores o los detractores son a su vez otros objetos del tipo persona).
