Concrete Logo
Hamburger button

El Problema: Kotlin “Javification”

  • Blog
  • 15 de Julho de 2019
Share

Con la introducción por parte de Google de Kotlin como lenguaje de programación estándar para Android, y todo el ruido que Kotlin provoco al entrar en un mercado que Java había dominado durante años, fueron muchos los desarrolladores que rápidamente acudieron a revisar detenidamente cuales eran las características de este lenguaje y los beneficios que daba su uso. ¿Cuáles eran las razones para que el gigante del sistema operativo móvil quisiera desplazar a Java?, en poco tiempo la respuesta fue evidente, Kotlin contestaba la pregunta por sí mismo.

El acercamiento al paradigma funcional en Android usando Java 7 (o inferior) era prácticamente nulo, obligando a los desarrolladores a utilizar interfaces funcionales para delegar tareas como máxima herramienta “funcional” del lenguaje. De Java 8 en adelante se introdujo soporte a funciones lambda en un intento por incluir características funcionales a Java, pero la arquitectura robusta que define a Java no permitía que estas características calaran en la esencia del lenguaje: si Google quería programación funcional tenía que cambiar de lenguaje, o mejor aún, implementar como estándar un lenguaje retro-compatible con JVM pero con características funcionales, ese lenguaje es Kotlin.

Para quienes conocen del paradigma funcional, sabrán que en él se ocultan las armas más poderosas y abstractas para la solución de problemas de las que se tiene conocimiento en el mundo de la programación. Kotlin trajo ese mundo a Android, sin duda, todo tenía que cambiar, había muchas cosas que volver a pensar, nuevas soluciones y nuevo código, Google comenzó dando el primer paso, escribiendo la librería estándar de Kotlin para Android, un conjunto de funciones y elementos que representan una capa de abstracción sobre Java, simplificando las tareas nativas del SDK haciendo uso de las características funcionales que definen a Kotlin.

Kotlin rápidamente se ganó por sí mismo el espacio en la mayoría de los nuevos proyectos, pero había un problema… aún existe demasiado código Java, ¿Y todos los programadores Java?, ¿Qué hago si no sé Kotlin?, ¿y si no conozco el paradigma?

Aquí comenzó el problema, muchos programadores empezaron a migrar a Kotlin aprovechándose de traductores literales provistos por Google, así como de la retro-compatibilidad con Java y su relación cercana como lenguajes orientados a objetos, sin embargo, Kotlin no es Java, estamos hablando de un cambio de paradigma, una nueva forma de solucionar los problemas, cambiarse de Java a Kotlin sin aprovechar las características funcionales del lenguaje es como cambiarse de un destornillador manual a uno automático pero sin conectarlo a la electricidad.

En mis próximas publicaciones estaremos abordando el tema por dos flancos, el teórico: conociendo el poder de Kotlin, ¿de qué armamento disponemos? y ¿cómo se usa?, y el práctico: viendo el poder de Kotlin en acción, casos de uso, resolviendo problemas reales, ejemplos, etc.

¡Nos vemos!