# ¿Qué es Java?

Java es un lenguaje de programación multiplataforma, de propósito general y orientado a objetos.

En una frase de apenas 14 palabras hemos introducido 4 conceptos:

- **Lenguaje de programación**
- **Multiplataforma**
- **Propósito general**
- **Orientado a objetos**

Vamos a recurrir a la wikipedia para obtener una definición de estos conceptos y tener así una primera aproximación a los mismos

> Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras.
> 
> [https://es.wikipedia.org/wiki/Lenguaje\_de\_programaci%C3%B3n](https://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n)
> 
> En informática, multiplataforma es un atributo conferido a programas informáticos o métodos y conceptos de cómputo que son implementados e interoperan en múltiples plataformas informáticas.
> 
> [https://es.wikipedia.org/wiki/Multiplataforma](https://es.wikipedia.org/wiki/Multiplataforma)
> 
> Los lenguajes de propósito general, son lenguajes que pueden ser usados para varios propósitos, acceso a bases de datos, comunicación entre computadoras, comunicación entre dispositivos, captura de datos, cálculos matemáticos, diseño de imágenes o páginas.
> 
> [https://es.wikipedia.org/wiki/Lenguaje\_de\_programaci%C3%B3n\_de\_prop%C3%B3sito\_general](https://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_de_prop%C3%B3sito_general)
> 
> La programación orientada a objetos (POO, u OOP según sus siglas en inglés) es un paradigma de programación que viene a innovar la forma de obtener resultados. Los objetos manipulan los datos de entrada para la obtención de datos de salida específicos, donde cada objeto ofrece una funcionalidad especial.
> 
> [https://es.wikipedia.org/wiki/Programaci%C3%B3n\_orientada\_a\_objetos](https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos)

Con todo lo que hemos visto hasta el momento **tenemos que quedarnos con la idea de que Java es** un lenguaje de programación que va a permitirnos trabajar en distintas plataformas (Windows, Linux, Android,...), con distintas intenciones (hacer un programa que calcule factoriales, acceder a bases de datos, interactuar con el hardware de nuestros dispositivos,...) y además nos va a permitir trabajar con objetos en lugar de hacer uso de la tradicional programación estructurada (que también podremos usar en Java).