La programación orientada a Objetos (POO) no es algo nuevo, pues existe desde los años 60 con lenguajes como Smaltalk, Simula, Ada. Se ha hecho más populares en los últimos 10 años con la aparición de Java y C#. La POO es una extensión de los lenguajes de Alto Nivel Estructurados que tratan de representar de una forma más sencilla el modelo del mundo real.
El concepto de programación Orientada a Objetos: agrupa un conjunto de técnicas que nos permiten desarrollar y mantener muchos más fácilmente programas de gran complejidad.
La POO intenta resolver principalmente problemas de la Ingeniería de Software como: portabilidad, reusabilidad, mantenibilidad, entre otros. Para ello se basa en las características claves como el encapsulamiento, la herencia, polimorfismo, y el desarrollo orientado primero hacia el que, y luego hacia el cómo (interfaces).
Lenguajes Orientados a Objetos: Java, C#, Ruby, Php, V.B.Net, Python, Perl, JavaScript, C , Delphi.