Lenguaje orientado a objetos
# Lenguaje orientado a objetos

Se le llama así a cualquier lenguaje de programación que implemente los conceptos definidos por la programación orientada a objetos.

Cabe notar que los conceptos definidos en la programación orientada a objetos no son una condición sino que son para definir que un lenguaje es orientado a objetos. Existen conceptos que pueden estar ausentes en un lenguaje dado y sin embargo, no invalidar su definición como lenguaje orientado a objetos.

Quizás las condiciones mínimas necesarias las provee el formalismo que modeliza mejor las propiedades de un sistema orientado a objetos: los tipos de datos abstractos.

Siguiendo esa idea, cualquier lenguaje que permita la definición de tipos de datos, de operaciones nuevas sobre esos tipos de datos, y de instanciar el tipo de datos podría ser considerado orientado a objetos.

Esta definición concuerda incluso con ciertos ejemplos prácticos, que no son considerados dentro de la programación orientada a objetos, pero que podrían serlo. Por ejemplo, la programación de interfaces gráficas de usuario para los sistemas X utilizando infraestructuras de funciones y API como Motif, Xview y Xlib, son realizadas usualmente en lenguaje C, pero organizando el código en una manera que "parecen objetos" (los Widgets).

## Ejemplos de lenguajes orientados a objetos

* ADA
* C++
* Objective C
* Java
* Smalltalk
* Eiffel
* Ruby
* Python
* OCAML
* Object Pascal
* CLIPS
* Actionscript
* Pauscal [En español]
* Perl
* PHP
* C#
* Kotlin
* Visual Basic.NET
* Simula
* Delphi
* PowerBuilder
* Visual FoxPro
* TypeScript
* Datos: Q2918885
