Graphicroyalty - stock.adobe.com

Los desarrolladores prefieren los lenguajes JVM para dispositivos móviles y empresas

Un informe reciente de RedMonk encontró que más desarrolladores usan lenguajes de programación que se ejecutan en Java Virtual Machine para crear aplicaciones móviles y empresariales.

Los lenguajes que se ejecutan en la máquina virtual Java (JVM) se han alineado bien con los desarrolladores de aplicaciones móviles, junto con los códigos sospechosos habituales.

JavaScript, Java, Python, PHP y C# encabezan la lista más reciente de lenguajes de programación de RedMonk, clasificados por uso de código (solicitudes de extracción de GitHub) y discusiones (Preguntas y respuestas de Stack Overflow). C++, CSS, Ruby, C y Objective-C completan el top 10. Pero una gran cantidad de lenguajes JVM se ubican en el medio del paquete y están subiendo en la lista.

La JVM admite una gran cantidad de lenguajes de programación, como Kotlin, Groovy, Scala y Clojure, junto con JRuby y Jython, así como lenguajes más oscuros como BeanShell, Pizza, Pnuts y Xtend. Scala (en el puesto 12), Clojure y Groovy (empatados en el puesto 21) avanzaron en la clasificación de RedMonk, mientras que Kotlin, uno de los idiomas más populares, retrocedió un lugar hasta el 28.

Futuro brillante para Kotlin, Swift para el desarrollo de sistemas operativos móviles

Kotlin es especialmente popular entre los desarrolladores de aplicaciones móviles como lenguaje preferido para el desarrollo de aplicaciones de Android debido a su diseño limpio y moderno, escribió Stephen O'Grady, analista de RedMonk, con sede en Portland, Maine, en una publicación de blog.

Scala había caído durante tres trimestres consecutivos antes de esta última clasificación, aunque las caídas fueron bastante pequeñas. Los factores causales detrás de los declives pasados ​​de Scala no están claros, pero probablemente involucran la competencia no solo de Java sino de otros lenguajes JVM como Clojure, Groovy e incluso Kotlin.

"Scala tuvo su día bajo el sol, pero parece estar sufriendo dolores de crecimiento y no puede moverse bajo la resistencia de su propio peso considerable", dijo Cameron Purdy, CEO de Xqiz.it (una startup de software de Lexington, Massachusetts, especializada en el modo sigiloso) y ex vicepresidente senior de desarrollo en Oracle.

Swift, un lenguaje más nuevo para crear aplicaciones de iOS, también se deslizó un espacio fuera de un empate con Objective-C, pero aún disfruta de una mayor atención por parte de los desarrolladores. IBM y otros han impulsado Swift como lenguaje del lado del servidor.

Al igual que Kotlin, Swift atrae a los desarrolladores como un lenguaje que oculta la fealdad de una plataforma heredada, aunque arrastra una tonelada de equipaje de varias tecnologías heredadas de Apple que se sienten menos limpias, dijo Purdy.

"Si yo fuera un desarrollador comenzando hoy, daría prioridad a Kotlin y Swift para el desarrollo de Android e iOS, con JavaScript o TypeScript para el navegador", dijo. "Kotlin también debería ser suficiente para el back-end".

Leyendo las hojas de té

Otros expertos de la industria sugieren que los reflujos y flujos de tales clasificaciones de popularidad de idiomas no son más que cambios periódicos en los esquemas de desarrollo de software.

A medida que los programadores cambian los proyectos de desarrollo, cambiarán de "Java sabor vainilla" a Kotlin si están desarrollando Android, o Groovy para el desarrollo con Grails, o Clojure o Scala para varios trabajos de programación funcional, dijo Ted Neward, director de relaciones con desarrolladores en Smartsheet, Bellevue, Wash.

"Esto es muy parecido a tratar de leer las mareas marcando las olas en el costado del muelle durante un período de cinco minutos", dijo. Los lenguajes JVM en general se han hecho un hueco dentro del mundo Java más amplio, lo cual es viable porque ese mundo es muy grande. "En todo caso, indica que estos lenguajes están alcanzando un nivel de madurez y aceptación dentro del ecosistema", dijo.

Charles Nutter

Mientras tanto, las mejoras recientes en el lenguaje Java, como lambdas en Java 8 y la inferencia de tipo de variable local en Java 11, le quitan algo de fuerza a las alternativas de JVM, dijo Charles Nutter, codirector del proyecto de código abierto JRuby y director senior de ingeniería de software en Red Hat.

"Cuanto más mejora Java, menos estos otros lenguajes 'Java++' tienen diferencias lo suficientemente convincentes como para justificar la sobrecarga de usar algo que no sea Java", dijo Nutter.

Investigue más sobre Dispositivos endpoint