Java es un lenguaje de programación orientado a objetos fuertemente tipado, creado en 1995. Ha recibido muchas mejoras desde entonces y se mantiene consistentemente en las posiciones líderes en rankings de lenguajes de programación y salarios de desarrolladores de software[[1](https://www.w3schools.com/java/),[2](https://www.ibm.com/topics/java)].

Algunas de las características que hacen a Java popular incluyen:

1. Multiplataforma — El código escrito se convierte en bytecode y se ejecuta mediante la JVM, permitiendo que el código funcione en diferentes plataformas y sistemas operativos sin adaptaciones [[2](https://www.ibm.com/topics/java)].

2. Gestión automática de memoria — Java maneja automáticamente la memoria, lo que permite a los desarrolladores enfocarse en resolver problemas sin preocuparse por los detalles de la memoria [[3](https://www.w3schools.com/java/java_classes.asp)].

3. Velocidad (compilador JIT) — Java admite compilación justo a tiempo (JIT), lo que permite que las aplicaciones se vuelvan más rápidas cuanto más tiempo se ejecutan, especialmente en servidores activos [[3](https://www.w3schools.com/java/java_classes.asp)].

4. Compatibilidad hacia atrás — El código escrito en versiones anteriores de Java seguirá funcionando en versiones más nuevas, facilitando la adopción de actualizaciones y parches de seguridad [[2](https://www.ibm.com/topics/java)].

5. Orientación a objetos — Los seres humanos piensan en términos de objetos: una mesa, un trolebús, un teléfono inteligente. Los desarrolladores no se ven obligados a pensar en paradigmas inusuales mientras trabajan, y eso ayuda a mantener errores innecesarios fuera de nuestro código. En cambio, podemos concentrarnos solo en aquellos detalles que son importantes en la tarea. Por ejemplo, desde la perspectiva de un diseñador de interiores, el tamaño y la ubicación de una mesa en una habitación son importantes. Su fecha de fabricación, el nombre del trabajador que cortó la madera para la mesa y el número de teléfono del conductor de FedEx que la entregó no son importantes. Además, los datos y los métodos para trabajar con esos datos se almacenan juntos en el código.

6. Tipado estático (falla rápido) — La compatibilidad de tipos de variables se verifica durante la etapa de compilación. Cada desarrollador compila el código, por lo que los errores de compilación se detectan casi instantáneamente. Cuanto más tarde se descubre un error, más caro es solucionarlo.

7. Código como documentación — Java se lee como oraciones en inglés. En consecuencia, en la mayoría de los casos, no es necesario gastar esfuerzos para mantener la documentación, ya que cualquier desarrollador, al mirar el código, entenderá lo que hace un método o qué comportamiento es responsable una interfaz. Además, hay convenciones inteligentes con respecto al "nombre correcto" de todas las entidades en el código. A menudo, el nombre de un método deja en claro lo que hace.

Por ejemplo, el método getContext() devuelve el contexto, y el campo age es responsable de almacenar la edad. En Java, la longitud de los nombres no afecta la cantidad de recursos del sistema necesarios para trabajar con las entidades. C no maneja esto tan bien: cuando un desarrollador se une a un nuevo proyecto, en lugar de comprender la lógica del código, debe descifrarlo.

8. Muchas bibliotecas y marcos de código abierto — El 99% de las tareas que enfrenta un desarrollador en la práctica diaria ya han sido resueltas por alguien. Con el tiempo, las buenas soluciones se convierten en bibliotecas e incluso en marcos de trabajo. ¿Qué es mejor, buscar en Google durante 5 minutos o reinventar su propia bicicleta con ruedas cuadradas?

9. Gran comunidad — Este lenguaje popular tiene una gran base de desarrolladores que hacen muchas preguntas en Internet, dan muchas respuestas, escriben mucho código y enfrentan y resuelven muchos problemas. Y cuantos más desarrolladores hay, más popular es el lenguaje, y más rápido crece. Es un ciclo virtuoso.

Se han mencionado muchas de las "cualidades" positivas de Java, pero me gustaría agregar algunas más:

  • La JVM (Java Virtual Machine) administra la memoria por ti, lo que la hace segura y el lenguaje número 1 para herramientas financieras.

  • Es muy conveniente escribir el servidor backend (lógica del servidor) en Java.

  • Hasta hace poco, Java era el principal lenguaje para aplicaciones Android.

    Ahora Kotlin, un lenguaje JVM que difiere de Java por su "azúcar sintáctico" y un par de características, ocupa su lugar. Cambiar de Java a Kotlin y viceversa tomará varios días. Y dado que el ciclo de actualización de Java es ahora de seis meses, es posible que la próxima versión de Java tenga todas las características promocionadas para las que se escribió Kotlin.

  • Muchas empresas famosas utilizan Java: Google, Facebook, Twitter, Amazon, LinkedIn, eBay, CodeGym y muchas, muchas más.