Revisión del Estado de Java en 2020

Este año, Java alcanzó un hito increíble cumpliendo la nada despreciable cifra de 25 años. Celebrando ese cuarto de siglo, desde Jet Brains han organizado un evento especial en línea, dedicado al lenguaje de programación día de Java.

Donde muchos oradores expertos compartieron su experiencia y dieron sus consejos y trucos sobre cómo sacar más provecho al idioma de Java.

Esto hice pensar al equipo de Jet Brains, y decidieron profundizar en los datos para descubrir de una vez por todas cuál es la situación actual de Java y para ayudar a responder algunas de sus preguntas candentes. Es posible que parte de lo que hemos encontrado no sea una sorpresa, pero también hay algunas ideas muy inesperadas.

Relacionados Java: Cursos Java / Libros Java / Frameworks Java / Herramientas Java / Análisis Java 2020 / James Gosling

Con Java 15 lanzado esta semana, decidimos armarlo y presentarle el estado de Java. Esta publicación se creó en base a datos de varias fuentes diferentes e incluye comentarios de expertos de nuestra defensora de desarrolladores Trisha Gee.

¿Dónde se encuentran los desarrolladores de Java?

La primera pregunta fue: “¿Dónde se encuentran la mayoría de los desarrolladores de Java y cuántos desarrolladores Java existen?”, Respondimos a eso combinando la información más precisa que pudimos obtener y luego extrapolando datos, para llegar a lo que creemos que es una suposición bastante bien fundamentada.

Nuestra mejor estimación del modelo de estimación de desarrolladores del equipo de análisis e investigación de mercado muestra que hay alrededor de 5,2 millones de desarrolladores profesionales de Java en el mundo que utilizan Java como su lenguaje principal.

Pero ese número posiblemente esté más cerca de ~ 6,8 millones ~ si incluimos a los desarrolladores profesionales que utilizan principalmente otros lenguajes de programación pero que también utilizan un poco de Java.

En cuanto a dónde se concentran los desarrolladores de Java, la mayor cantidad de desarrolladores de Java viven en Asia, donde alrededor de 2,5 millones de desarrolladores utilizan Java como su idioma principal.

Las cifras de América del Norte y Europa no se acercan a la escala de Asia. Puede que te preguntes: “¿Pero por qué?” Bueno, al principio tuvimos exactamente el mismo pensamiento, así que profundizamos un poco más en estas regiones para ver exactamente de dónde venían los números.

¿Dónde están los desarrolladores de Java, específicamente?

Profundizando, analizamos los países individuales que tenían la mayor población de desarrolladores de Java, y luego investigamos por qué estos países prefieren específicamente Java sobre otros lenguajes para el desarrollo profesional.

El siguiente gráfico muestra los porcentajes de desarrolladores de cada país que utilizan Java como idioma principal (los encuestados que se utilizaron para recopilar estos datos pueden elegir hasta 3 idiomas principales). China y Corea del Sur tienen los valores más altos en aproximadamente 51% y 50% respectivamente.

Los datos se tomaron de la Encuesta sobre el Estado del ecosistema de desarrolladores Java 2020.

El Análisis de los Expertos

Las razones por las que Java es probablemente tan popular en los primeros 6 países incluyen el uso gratuito de Java, el soporte gubernamental y el código abierto. Este es especialmente el caso de China, España y Brasil.

Es la base para el desarrollo móvil de Android en China e India, y la contratación de personal en el extranjero para crear aplicaciones telefónicas en Java está muy extendida, lo que podría representar el pico de uso en India.

El uso de Java en Alemania también es muy alta, lo que podría atribuirse a que Java es el idioma más popular en Alemania – entre los ingenieros de software – ya que se utilizan para crear aplicaciones altamente escalables para una multitud de industrias.

La mayoría de los servicios empresariales se basan en Java para impulsar las aplicaciones que permiten el funcionamiento diario de las empresas, como la nómina, la gestión de inventarios, la generación de informes, etc. Alemania también tiene un gran sector financiero que utiliza Java en gran medida para su tecnología propia, como robots comerciales, sistemas bancarios minoristas y otras aplicaciones que la industria financiera requiere para seguir siendo competitiva.

Podríamos haber esperado que EE.UU. tuviera un alto porcentaje de usuarios de Java, pero también tiene mucho sentido que no lo tengan. Hay una gran pila de tecnología para elegir y, a menudo, muchas de las empresas de tecnología están a la vanguardia de esa pila, por lo que podría ser que los desarrolladores no necesiten la potencia o la estabilidad de Java y estén usando lenguajes que les permitan construir y probar al mismo tiempo.

Conocimientos de la industria

Según la Encuesta sobre el estado del ecosistema de desarrolladores Java de 2020, más de un tercio de los desarrolladores profesionales utilizan Java como lenguaje principal y Java sigue siendo el segundo lenguaje principal entre todos los desarrolladores profesionales después de JavaScript.

Análisis de los expertos

No es sorprendente ver que JavaScript y Java toman las posiciones de liderazgo, ya que están emparejados; los desarrolladores que trabajan con Java a menudo escriben su interfaz y cualquier script rápido en JavaScript.

Python probablemente ocupa el tercer lugar debido a la difusión del aprendizaje automático. En general, esperamos que la web sea una gran parte del ecosistema de desarrolladores y, por lo tanto, JavaScript, HTML, CSS y PHP siempre tendrán una posición sólida.

SQL también estará siempre presente, ya que no hay mucho que no requiera bases de datos de alguna manera. C ++ también es un lenguaje sólido en el sentido de que se usa para muchas aplicaciones integradas, por lo que no desaparecerá de las listas en el corto plazo.

Aunque C# parece estar perdiendo terreno, y supongo que si Java es alto, C# será bajo, ya que ambos son muy similares en términos de capacidades.

En cuanto a por qué creo que Java es tan alto en la esfera del desarrollo profesional, es similar a lo que se mencionó sobre Alemania. La mayoría de los servicios empresariales confían en Java para que funcionen. Tampoco es solo el sector de TI: casi todas las empresas, ya sea en distribución, fabricación o banca, tienen servicios de TI como parte de su infraestructura, y estos servicios, como la gestión de nóminas o inventarios, generalmente se construyen con Java en el backend.

Por tanto, los desarrolladores profesionales que trabajan para estas empresas utilizan mucho Java, tienen servicios de TI como parte de su infraestructura, y estos servicios, como la nómina o la gestión de inventario, generalmente se crean con Java en el backend.

¿Qué tipos de software es desarrollado con Java?

En un vistazo rápido a los tipos de software desarrollados con Java, debería arrojar algo de luz sobre las estadísticas de uso. Con un 52%, los servicios web son el ámbito más popular donde se utiliza Java según los resultados del Estado del Ecosistema de Desarrolladores 2020.

Análisis de los expertos

Es sorprendente ver que Java prevalece tanto entre la inteligencia empresarial, la ciencia de datos y el aprendizaje automático; ya que uno, pensaría que este sería el ámbito de Python. Los otros son menos sorprendentes, ya que el backend de los servicios web es a menudo Java, y tiene sentido que las aplicaciones comerciales estén escritas en Java, ya que también necesitarán trabajar con el backend y las bases de datos.

Principales industrias donde se usa Java

Ahora que sabemos por qué tantos desarrolladores profesionales utilizan Java, veamos específicamente las industrias en las que se utiliza Java.

Según la Encuesta del Estado del Ecosistema de Desarrolladores 2020, los programadores de Java trabajan principalmente en servicios de TI (42%) y finanzas y FinTech (44%), pero eso no quiere decir que Java no se utilice en otras industrias.

Análisis de los expertos

El sector de Finanzas y FinTech se trata principalmente de intercambios financieros, sistemas bancarios minoristas, creación de motores de cálculo y desarrollo de herramientas y servicios personalizados de cosecha propia para hacer que la empresa sea competitiva en el mercado.

Las finanzas y FinTech están bastante establecidas en Java, por lo que no hay ninguna sorpresa aquí. Lo mismo ocurre con los servicios de TI, ya que muchos sistemas de nómina y servicios de gestión de inventario para empresas que no son de TI se basan en Java.

Sin embargo, las otras industrias son interesantes. El desarrollo móvil probablemente sea alto debido a Android, por lo que Java se está utilizando en esta capacidad. Los macrodatos y el análisis de datos son muy interesantes ya que Python lidera esta industria, pero puede haber algún uso para los lenguajes Java y JVM en el backend.

Herramientas de desarrollo de software, bueno, ciertamente. Los IDE de JetBrains se crean actualmente con Java.

¿Qué versión de Java es la más utilizada

Java 8 sigue siendo la versión más popular. Lo utiliza el 75% de los desarrolladores profesionales que utilizan Java como idioma principal. El siguiente gráfico muestra la distribución de las versiones de Java dado que los desarrolladores eligen varias de ellas en la Encuesta de ecosistemas para desarrolladores 2020.

Análisis de los expertos

Hay algunos factores que contribuyen a que Java 8 sea tan popular. En primer lugar, tiene todo lo que un desarrollador típico de Java necesita del lenguaje, tiene lambdas y streams y, en general, es una versión agradable y fácil de usar.

Además, la gente se ha mostrado muy reacia a pasar a Java 9. Java 9 introdujo algunos cambios arquitectónicos importantes y la gente tiene miedo de que estos cambios rompan sus aplicaciones que están construidas en Java 8.

Además de esto, Oracle introdujo versiones bianuales y por lo que no todas las versiones son compatibles durante mucho tiempo, por lo que Java 9, Java 10, Java 12 y Java 13 solo son compatibles durante 6 meses, por lo que probablemente todas tienen una cantidad tan pequeña de usuarios. Java 13 es tan alto como es porque cuando se publicó esta encuesta era la versión más reciente, por lo que puede esperar que las cifras bajen en unos pocos meses.

Java 11 salió en 2018, es la versión más reciente con soporte a largo plazo. Muchas empresas aún no se han mudado a él todavía, porque les preocupa que pasar de Java 9 (con sus cambios de arquitectura) rompa todo, también Java 11 introdujo nuevas licencias y nuevas suscripciones, por lo que vino con el temor adicional de que si utiliza la versión incorrecta, de manera incorrecta, Oracle lo multará.

El gran factor final por el que muchos desarrolladores no actualizan a Java 11 es que no tiene muchas características nuevas e interesantes, por lo que el riesgo de actualización no ha sido mitigado por las habilidades del lenguaje. Java 17 será la próxima versión con soporte a largo plazo y viene con muchas características nuevas, pero hacer una actualización directa de Java 8 a Java 17 vendrá con sus propios problemas.

Mi predicción es que creo que la próxima versión a largo plazo, Java 17, será más popular que la última versión LTS (versión de soporte a largo plazo) Java 11. Aún así, como preparación para Java 17, no puedo enfatizar esto lo suficiente. , Recomiendo actualizar primero su base de código a Java 11 y luego a Java 17, para evitar grandes problemas.

¿Qué servidores de aplicaciones son más populares?

Durante los últimos 3 años, Apache Tomcat se ha mantenido como el servidor de aplicaciones más popular, mientras que el uso de JBoss EAP y WildFly se ha reducido a la mitad. Los datos proporcionados son de todos los desarrolladores que utilizan Java como su idioma principal y que participaron en la Encuesta de ecosistemas de desarrolladores en 2018 y 2020.

Análisis de los expertos

Jetty ocupa el segundo lugar, pero parece sorprendentemente bajo. Es posible que algunos desarrolladores que están usando Spring Boot y otros marcos de microservicios no se den cuenta de lo que están usando bajo el capó; pueden estar usando Tomcat o Jetty sin saberlo.

¿Cuáles son los 5 frameworks web de Java más utilizados?

Spring Boot

, que tuvo la misma popularidad que Spring MVC en 2018, ahora se ha vuelto más popular en 2020 . Los datos proporcionados son de todos los desarrolladores que utilizan Java como idioma principal.

Análisis de los expertos

Básicamente, esto solo confirma que Spring es dueña del mercado. El hecho de que todavía haya personas que usan Struts 1 es casi seguro que solo lo hace para aplicaciones heredadas.

¿Cuáles son las 5 mejores herramientas de resolución de problemas Java?

La Encuesta sobre el estado del ecosistema de desarrolladores 2020 muestra que VisualVM es utilizado por el 24% de los usuarios, Seguido por un 15% que usa JProfiler, un 13% que usa Java Mission Control, un 7% Netbeans profiler y un 4% YourKit. Mientras que un 50% no utiliza ninguno.

¿Cuáles son los 5 mejores IDE / editores Java?

IntelliJ IDEA aumentó su participación del 55% en 2018 al 72% en 2020, mientras que el uso de los otros 4 ha disminuido.

Análisis de los expertos

Aún así, no negamos que la información podría estar un poco sesgada, incluso con la ponderación que le damos a los resultados de nuestra encuesta, dado que esto es de la encuesta JetBrains State of Developer Ecosystem., y uno de los principales productos de JetBrains es IntelliJ IDEA.

Sin embargo, eso no quiere decir que esto no sea totalmente irrazonable, ya que si miramos otras encuestas, IntelliJ IDEA suele ser uno de los IDE más utilizados, y generalmente tiene alrededor de un 55-60% de participación de usuarios.

VS Code está creciendo, lo que es preocupante, no desde un punto de vista competitivo, sino desde el punto de vista de que claramente hay una falta de comprensión de lo que te ofrece un IDE.

VS Code es un editor de código con algunas características que encontraría en un IDE y extensiones que pueden proporcionar funcionalidad adicional, por lo que si las personas recurren a VS Code para desarrollarlo, puede implicar que los desarrolladores no saben lo que es un completo IDE puede darles. En el espacio web es comprensible utilizar un editor, ya que los desarrolladores web suelen trabajar con lenguajes dinámicos.

Herramientas Java y otros lenguajes más discutidos

Java se discute a menudo en las comunidades de TI, una de las cuales es Stack Overflow . Tomamos los datos de la sección de preguntas y respuestas para averiguar qué etiquetas ocurren más con “java” . El eje vertical muestra las menciones con Java mientras que el horizontal indica el número total de ocurrencias de las etiquetas.

Análisis de expertos
Este cuadro puede ser útil para los usuarios que desean asegurarse de que están utilizando las tecnologías adecuadas o buscar herramientas para ellos. Los lenguajes son interesantes, pero probablemente sea así porque la gente está buscando comparaciones entre Java y otros lenguajes. Las expresiones regulares son el tipo de cosas específicas con las que la gente lucha, pero no es de extrañar que estén en la lista.

Otros temas candentes alrededor de la comunidad Java

Analizamos las publicaciones en el subreddit “java” y encontramos los temas que son más discutidos por los usuarios de Java en Reddit .

Estos son exactamente los tipos de temas que espero ver. Por ejemplo, las personas que codifican en Java siempre estarán interesadas en saber si este lenguaje todavía tiene demanda, después de todo, está mejorando un poco.

Acabamos de celebrar los 25 años de Java y la gente quiere comprobar que no está desactualizado ni es heredado y que sigue siendo válido. Especialmente, si recién están saliendo de la universidad y aún no saben si el idioma que han aprendido les brindará oportunidades laborales.

La implementación de Java en contenedores es un tema muy candente, es algo que todos quieren saber, incluyéndome a mí, pero sobre lo que podemos encontrar poca información.

No me sorprende el tema de la optimización del rendimiento, aunque creo que este tema es un poco redundante ya que la mayoría de las aplicaciones no necesitan de manera realista la optimización de los desarrolladores. aunque muchos desarrolladores creen que es una habilidad profesional importante.

Hacer que el backend y el frontend funcionen juntos también puede ser muy complejo y me imagino que habrá muchas preguntas al respecto.

Fuente: JetBraing Blog

Relacionado

Volver a lo básico: Introducción a Tomcat

Apache Tomcat es un contenedor de servlets de Java que existe desde hace mucho tiempo. Es de código abierto e implementa las especificaciones básicas de Java Enterprise (ahora llamada Jakarta EE) como las especificaciones Jakarta Servlet, Jakarta Server Pages y Jakarta WebSocket. https://ciberninjas.com/java-sigue-siendo-popular/ Apache Software Foundation lanzó Tomcat por primera vez en 1998, solo cuatro años después de Java. https://ciberninjas.com/java-editores/ Tomcat comenzó como la implementación de ¡SEGUIR LEYENDO!

Volver a lo básico: Introducción a JDK

JRE y JDK son frecuentemente malentendidos por los más novatos. Si solo estás interesado en ejecutar aplicaciones Java en tu computadora, puedes hacerlo fácilmente con Java Runtime Environment. Sin embargo, si deseas construir un programa de software basado en Java, es posible que necesites otras herramientas denominadas JDK, además de JRE. Los desarrolladores que recién están comenzando con Java a menudo confunden el Kit de desarrollo ¡SEGUIR LEYENDO!

Tutoriales RIP: Más de 300 Guías de Programación y Tecnología basadas en Contenidos de Stack Overflow

Las guías de RIP TUTORIAL (+300) son un proyecto de ZZZ Proyects (‎una empresa dedicada a añadir valor a la comunidad .NET) que consta en la creación de libros con contenidos extraídos de Stack Overflow. Por lo que he observado, los contenidos son de 2016/17, pese a eso. Lo considero un contenido útil. Muchas guías son una simple instalación o inicio a un contenido; pero las ¡SEGUIR LEYENDO!

Si los Lenguajes de Programación fueran Superhéroes de Marvel serían..

Existen más de 750 lenguajes de programación en el universo de la programación y cada lenguaje de programación tiene un tono y un conjunto de características únicos. https://ciberninjas.com/mejores-lenguajes-programacion-2023/ No debería sorprender que este conjunto específico de características atraiga a los excéntricos, quienes ocasionalmente se reúnen para discutir entre sus diferencias, ventajas y desventajas. Consideremos un escenario fantástico donde MCU signifique "My Universo del Código" y cada ¡SEGUIR LEYENDO!

Servicio de Java Management ahora es gratuito para todos

Java Management Service es un componente integrado de Oracle Cloud Infrastructure (OCI) que controla todos los entornos de Java, ya sea alojados por Oracle o en el propio centro de datos del cliente.* Oracle está implementando las características de descubrimiento de su Servicio de administración de Java, que está alojado en la nube y está disponible gratuitamente para todos los interesados. Anteriormente, esta funcionalidad estaba restringida ¡SEGUIR LEYENDO!