Java vs Kotlin para Android: opiniones de desarrolladores

En las encuestas de Stack Overflow en 2018, el 45.3% de los encuestados calificó a Java como el lenguaje de programación más popular, y Kotlin prefirió solo el 4.5% de los desarrolladores. Sin embargo, en mayo de 2019, Google anunció a Kotlin como el lenguaje de programación prioritario. La corporación no pidió abandonar C ++ y Java, pero las disputas entre programadores estallaron aún más.

Netology ha aprendido de los desarrolladores qué lenguaje de programación usan y cómo ven el futuro de Java y Kotlin.

"El hilo principal permanecerá en Java, y Kotlin se utilizará para un desarrollo rápido"



Dmitry Kachalov, programador principal, Kelly IT Solutions

¿Qué idiomas sabe él? Inicialmente, estudié lenguajes de desarrollo web, pero en algún momento también quería hacer desarrollo móvil. Comencé a estudiar desarrollo para Android y dominé el lenguaje Java al mínimo necesario para poder escribir las primeras aplicaciones, ejecutarlas en el teléfono y publicarlas en el mercado. Esto fue cuando Kotlin apareció y no era conocido por un amplio círculo de desarrolladores.

Que usos. Ahora, cuando desarrollo aplicaciones empresariales, uso Java. Muchas bibliotecas están disponibles para él, hay módulos listos para usar. Además, Android Studio lo admite tanto que literalmente puede escribir una letra, y el código se escribirá para usted. Es muy conveniente.

En mi práctica, no había tal cosa como requerir el conocimiento de otro idioma. Por lo general, Java es suficiente porque tiene muchas bibliotecas y, en principio, es posible realizar cualquier tarea. Lo único que vale la pena considerar son las limitaciones de la plataforma Android en sí. Porque no importa el idioma, todas las restricciones tarde o temprano descansan contra la restricción de la plataforma. En mi opinión, no hay mucha diferencia en qué idioma implementar la tarea, lo principal es encontrar una buena solución que funcione dentro de una plataforma específica.

¿Por qué prefiere Java? En él puede hacer servicios gratuitos, sus propios métodos API, sitios de escritura, servidores, aplicaciones móviles. Este es esencialmente un lenguaje universal en el que puede realizar una gran cantidad de operaciones y desarrollar diferentes aplicaciones. Para él hay muchos desarrollos y bibliotecas. Y también: una gran comunidad que siempre está lista para responder preguntas y ayudar.

Sobre la confrontación y el futuro de los idiomas. Kotlin es definitivamente un paso interesante hacia adelante, pero en mi opinión, no conlleva nuevos enfoques y paradigmas. Simplemente reduce el tiempo que lleva escribir código con construcciones más cortas. Al mismo tiempo, todavía se basa en el mismo Java.

En el futuro cercano, Java seguirá siendo el más popular. El hilo principal permanecerá en Java, y Kotlin se usará para un desarrollo rápido en el contexto de la creación rápida de prototipos de aplicaciones simples o creación de prototipos. Aunque este es un punto de vista muy provocativo. Kotlin es compatible con Java, por lo que no puede decir que algo cambiará fundamentalmente.

“Si eres un principiante y quieres trabajar con Android, aprende Kotlin. De lo contrario, elegiría Java "



Artem Pervushov, especialista en ATC con licencia de Android, autor del programa del curso para desarrolladores de Android en Netología

¿Por qué prefiere Java? En primer lugar, debe comprender de qué se trata Kotlin. Kotlin es más sobre el azúcar sintáctico. ¿Necesito tanto azúcar? Probablemente no, ya estoy acostumbrado a leer código Java y no cometer errores (casi). ¿Debería un novato en programación elegir obviamente Java más complejo? Probablemente tampoco.

Todavía necesita considerar los beneficios de invertir su tiempo. Java es una historia no solo sobre Android y escritorio. Hay una gran cantidad de otros proyectos en él. Y si desea pasar de Android a otro lugar, conocer el idioma será útil.

Sobre el futuro de los idiomas. Quizás en el futuro Kotlin se apoderará del mundo, o quizás no. "Capture the world" Go, Python, Ruby, JS, <sustituir lo necesario> es mucho menos común de lo que nos dicen los fanáticos de estas tecnologías. Por lo tanto, mi consejo es este: si eres un principiante y estás decidido a conectar tu destino con Android, aprende Kotlin, es conveniente y está de moda. De lo contrario, me enfocaría en Java.

"Los desarrolladores de Kotlin pueden usar frameworks y bibliotecas de Java y escribir código más comprensible y simple".



Semyon Pilunts, desarrollador de Android, experto en el curso de Netología.

¿Qué idiomas sabe él? Conocí la programación en mi instituto, comencé con Pascal, también estudié Basic, QBasic. Ya al ​​final de mis años escolares comencé a estudiar C. No me detuve allí y comencé a estudiar otros idiomas: Javascript, VB 6.0, MS SQL, Java. Pronto se dio cuenta de que Java estaba más cerca de mí, por lo que decidió centrarse en ello.

Después de un par de años, por casualidad, comencé a usar Java para crear aplicaciones móviles para Android. A veces era necesario usar Javascript, HTML, SQL en el propio Android. Saber otros idiomas siempre ayuda.

Que usos. Actualmente estoy trabajando en Java y Kotlin. Hasta ahora, no podemos abandonar completamente Java, pero estamos avanzando gradualmente.

En la práctica, antes de emprender una tarea, debe evaluarla, elegir un enfoque y una forma de llevarla a cabo. Aquí quedará claro qué idioma es mejor usar. En este caso, no habrá situación en la que no pueda hacer frente a la tarea. Al mismo tiempo, los desarrolladores de Kotlin pueden usar frameworks y bibliotecas de Java y escribir código más comprensible y simple.

Por qué Kotlin prefiere. Usar Kotlin es más fácil y más conveniente que Java. En él, el código del programa se obtiene en promedio un 40% más corto. Y le permite evitar algunos errores que pueden ocurrir durante la ejecución del programa. Cuando el código es más simple y más comprensible, los errores son más difíciles de hacer y más fáciles de detectar, por lo que su número está disminuyendo rápidamente. Pasas menos tiempo desarrollando y probando.

Sobre el futuro de los idiomas. Creo que en un futuro cercano Kotlin podrá reemplazar casi por completo a Java. Ya cubre el mercado de Android en un 50%, y esto es solo 3 años después de la aparición. Pero aún así, Java necesita saber que, sin él, será difícil transferir el código a Kotlin. Aquí noto que Kotlin es totalmente compatible con Java, es decir, no es necesario reescribir completamente la aplicación de inmediato. A menudo es más conveniente hacer esto gradualmente.

Y el desarrollo de aplicaciones de Android no es la única dirección de Kotlin. Es compatible con JavaScript, los programadores pueden transferirle la interfaz, Kotlin es ideal para desarrollar aplicaciones de servidor, lo que le permite escribir código corto y expresivo, al tiempo que mantiene la compatibilidad total con las pilas basadas en tecnología Java existentes. Los creadores también agregaron soporte Gradle para que los desarrolladores puedan escribir archivos Gradle en él. Activamente es el desarrollo de Kotlin Native, con el que puedes crear aplicaciones iOS.

"Kotlin no es mejor que Java en general, pero es mejor en el mundo de Android"



Ilnaz Gilyazov, cofundador de AIMS, autor del curso Kotlin Developer en Netología.

¿Qué idiomas sabe él? Inicialmente, aprendí varios idiomas según sea necesario: ensamblador, C / C ++, luego Java, JS, PHP, Python. Como trabajé y trabajo en el campo de la seguridad de la información, no puedo parar en un idioma.

Que usos. Ahora elijo las herramientas en función de las tareas y preferencias del cliente. Para el backend - Java / Kotlin, para cosas livianas sin muchas integraciones - Go / NodeJS, para la interfaz - JS / TypeScript + frameworks, para cosas del sistema - C ++ / Go. Es decir, no tengo en cuenta las preferencias personales, sino que procedo de la tarea y las capacidades del lenguaje y su ecosistema.

Por qué Kotlin prefiere. Las ventajas del lenguaje Kotlin en una nueva mirada a las cosas, en el deseo de proporcionar a los desarrolladores herramientas simples y convenientes que no requieren mucho código. Estos son azúcar sintáctica y corutinas. Kotlin le permite escribir menos código, le agrada.

En Android, elegir Kotlin en lugar de Java es obvio. En el mundo del backend, la posición de Kotlin es mucho más débil, aunque incluso allí se abre camino. Spring Framework (que para muchos es el estándar en el backend) incluye chips para Kotlin que no están disponibles para Java. Esto ya dice mucho. En el backend grande y complejo, todavía estamos trabajando en Java, aunque usamos Kotlin en algunos lugares. En el caso de la arquitectura de microservicios, donde un microservicio específico no requiere una gran cantidad de integraciones, Kotlin se siente genial.

Kotlin no es mejor que Java en general, pero es mejor en el mundo de Android. Aunque esto también se puede argumentar, todo depende de los parámetros por los cuales evaluamos.

Sobre la confrontación y el futuro de los idiomas. La confrontación entre desarrolladores en Kotlin y Java a veces se observa en proyectos donde no hay un acuerdo común y usan ambos lenguajes. Y hay fanáticos que creen en el único lenguaje correcto. De lo contrario, todo es más o menos suave, aunque la aspereza persiste en cuestiones de integración. Si quieres convertirte en un profesional en Android, tendrás que saber ambos idiomas. De todos modos, vale la pena acostumbrarse al hecho de que tiene que aprender constantemente nuevos idiomas, bibliotecas, marcos, ideas y enfoques.

Ahora el futuro de Java en Android no está claro. Cuando transferimos todos nuestros proyectos de Android a Kotlin, Java en Android se atascó en la séptima versión con algunos chips de la octava. Y todavía no está claro si Google tiene la intención de resolver sus disputas con Oracle e introducir soporte para nuevas versiones, o si se detendrá en sus posiciones actuales. Por lo tanto, invertir en el aprendizaje, el uso y el soporte de Java en Android parece ser al menos arriesgado a medio plazo.

Kotlin se está desarrollando de manera más o menos predecible y proporciona envoltorios que le permiten usar todas las características modernas del lenguaje, agrega una serie de servicios y capacidades específicamente para el desarrollo de Android. Este es un factor importante que afecta la satisfacción del desarrollador.

En el futuro cercano, no creo que Kotlin reemplace a Java. Más bien, podrá coexistir con Java, ya que originalmente estaba orientado a esto. Espero que la mayoría de las bibliotecas populares de Java no se reescriban en Kotlin. Pero puede escribir en Kotlin (habiendo entendido los matices de la integración de Kotlin <-> Java, por ejemplo, la reflexión y todas las trampas) y usar bibliotecas escritas en Java.

“Ahora nadie está buscando un desarrollador con conocimiento solo de Java o solo de Kotlin. Necesitas ser un especialista universal ”



Dmitry Gordin, desarrollador de Android en RoadAR

Sobre el enfrentamiento. Para no engendrar demagogia y no basarse en sentimientos personales, echemos un vistazo a los principales actores del mercado. Primero, Google reconoce a Kotlin como el principal lenguaje de desarrollo para Android. En segundo lugar, así es como se ven las vacantes en HH.ru de las principales empresas:

  • Tinkoff - "Una ventaja significativa: experiencia en el desarrollo de aplicaciones en Kotlin";
  • Yandex - "Bienvenido: experiencia de desarrollo en Kotlin";
  • Redmadrobot - "Deseable: experiencia de desarrollo de Kotlin";
  • incluso "Russian Post" - "Esperamos los siguientes conocimientos y competencias de usted: conocimiento de la pila de tecnología Android SDK, Kotlin / Java".

Sobre la elección del idioma. Necesitas saber ambos idiomas. Es imposible conocer Kotlin y no saber Java. La liga aburrida puede encontrar fallas y notar que hay un Kotlin Native que no está relacionado con Java. Pero estamos hablando del desarrollo de Android, lo que significa el tiempo de ejecución Dalvik / ART. Por lo tanto, todos los empleadores que escriben que están buscando un desarrollador en Kotlin en realidad están buscando ambos idiomas.

En mi opinión, la mejor manera es sentirse cómodo con Java y luego comenzar a cambiar sin problemas a Kotlin. Kotlin no da vuelta todo lo que sabía de Java. Puede cambiar a un nuevo idioma con cambios mínimos y escribir en el "estilo Java", gradualmente kotlinizando su código, agregando azúcar y chips específicos de Kotlin.

De los editores


Tomamos en cuenta la situación actual con los lenguajes de programación y las opiniones de los propios desarrolladores: enseñamos Java y Kotlin en el curso " Desarrollador de Android desde cero ". Gracias a esto, los estudiantes pueden elegir qué idioma permanecer en el futuro, o usar ambos.

Source: https://habr.com/ru/post/461877/


All Articles