Si planeas trabajar en una empresa que se dedica al desarrollo de Android y quieres crecer más allá de un puesto de junior, necesitarás dos lenguajes.
En 2019, Google hizo de Kotlin el lenguaje principal para Android, dejando Java y confundiendo a los desarrolladores principiantes. Algunos apuestan por la versatilidad de Java, mientras que otros se sienten atraídos por la sintaxis de Kotlin.
Veamos por qué ocurre esto y en qué orden aprenderlos.
Tanto Java como Kotlin se usan para escribir aplicaciones nuevas
Echemos un vistazo a las clasificaciones de los lenguajes de programación en la segunda mitad de 2024:
- TIOBE: Java ocupa el terce lugar, Kotlin el 18. Se calcula a partir de las búsquedas en Google, YouTube, Bing y otras plataformas populares.
- RedMonk: Java ocupa el tercer lugar, Kotlin el 17. Se calcula a partir de la frecuencia de mención de los lenguajes de programación en sitios web como Stack Overflow y GitHub.
- PYPL: Java ocupa el segundo lugar, Kotlin el 13. Se calcula a partir de las búsquedas de documentación técnica de lenguajes de programación en Google.
- IEEE Spectrum: Java ocupa el segundo lugar, Kotlin el 17. Se calcula a partir de la frecuencia de mención en Google, Twitter, GitHub, Reddit y otras plataformas.
- Stack Overflow: Java ocupa el séptimo lugar, Kotlin el 15. Se calcula a partir de los resultados de una encuesta a los desarrolladores de la comunidad Stack Overflow Survey.
El resultado es el mismo en todos los casos: Java está entre los primeros, mientras que Kotlin no llega al top 10. Esto significa que la mayoría de los desarrolladores móviles siguen escribiendo aplicaciones en Java.
Java es uno de los lenguajes de programación más utilizados en el mundo.
Esto demuestra que el desarrollo de Kotlin no afecta la popularidad de Java y mientras Android siga admitiendo los dos lenguajes, se seguirán lanzando nuevas aplicaciones con ambos.
Java y Kotlin son Necesarios para Mantener las Aplicaciones ya Escritas
Vayamos a developer.android.com, el sitio web oficial de la plataforma Android, donde encontramos comentarios de los desarrolladores sobre las ventajas de Kotlin:
- El código se reduce y ocupa menos espacio.
- La compacidad acelera el funcionamiento y simplifica el mantenimiento.
- La asistencia regular reduce la cantidad de errores.
- La reducción de errores aumenta la seguridad.
- Un programa seguro es más fácil de desarrollar y agregarle nuevas funciones.
Estos comentarios están respaldados por estadísticas:
- Kotlin se usa en el 70% de las 1000 aplicaciones más populares de Google Play.
- Más del 60% de los desarrolladores Android profesionales programan en Kotlin.
- Kotlin se utiliza en aplicaciones como Slack, Robinhood, Evernote, Zomato, Adobe Reader, WordPress, Pinterest, Deliveroo, Twitter, Reddit y otras.
Al leer esto, se tiene la impresión de que todo el desarrollo de Android depende de Kotlin. Sin embargo, para comprender la situación, hay que tener en cuenta tres puntos:
- Kotlin se conectó a Android en 2017. Antes de eso, se agregaron 2,9 millones de aplicaciones a Google Play, la mayoría de las cuales están escritas en Java.
- Java es el lenguaje de la corporación Oracle. Desde 2010, ha habido un litigio entre Oracle y Google por la presunta utilización indebida de Java en Android. El caso está en apelación y cualquiera de las partes puede ganar. Si Google pierde (spoiler: Oracle pierde contra Google), tendrá que pagar a Oracle más de 9 mil millones de dólares, una cantidad que aumenta constantemente y se calcula en función de los beneficios no obtenidos por las aplicaciones Java en Android. Por esta razón, el sitio web de Android no contiene datos sobre la prevalencia de Java y su escala en comparación con Kotlin.
- Las estadísticas publicadas en developer.android.com no incluyen referencias a estudios ni explican a quién incluyó Google en el 60% de los desarrolladores Android profesionales y cuántas líneas de código se han transferido de Java a Kotlin en el 70% de las 1000 aplicaciones más populares de Google Play.
El conflicto entre Google y Oracle llevó a esta situación: Android está migrando a Kotlin, mientras que Java sigue creciendo y conserva una base de código que la comunidad de Kotlin no puede reescribir. No se puede tomar una aplicación Java voluminosa y compilarla automáticamente a Kotlin: los lenguajes son diferentes y parte de la aplicación debe editarse manualmente.
Por ejemplo, los lenguajes implementan de manera diferente la seguridad de nulos, la sobrecarga de operadores, los constructores y otros aspectos que se documentan y se complementan con las reglas para llamar a Java en Kotlin. Por lo tanto, el desarrollador necesita los dos lenguajes para poder traducir Java a Kotlin o mantener Java.
Los Empleadores Exigen Java y Kotlin
En general, las empresas que buscan desarrolladores Android requieren experiencia tanto en Java como en Kotlin. Esto significa que para conseguir un trabajo en este campo, necesitas dominar ambos lenguajes.
La transición de Java a Kotlin no es instantánea, por lo que los desarrolladores deben estar familiarizados con ambas tecnologías. Veamos el orden para aprenderlos.
En Qué Orden Aprenderlos
Java → Kotlin
Si aprendes por tu cuenta, empieza por Java: aprende la sintaxis, los objetos, las clases, la POO y otros elementos del lenguaje. Cuando lo domines, pasa a Kotlin.
Kotlin → Java
Si aprendes con un profesor, es mejor empezar por Kotlin: así podrás pasar rápidamente a la práctica y aprender las bibliotecas Java necesarias, como RxJava.
El orden inverso es más complicado: Kotlin se basa en Java y no contiene muchas bibliotecas que se integran en el desarrollo de aplicaciones Android. Por lo tanto, si quieres probar y no sabes por dónde empezar, mira el programa de formación de desarrolladores Java.