Migrando de Java a Kotlin

Detalles

En Enyoit nos encanta Java (entre otros lenguajes de programación) para poder ofrecer soluciones backend en nuestros clientes. Es un lenguaje muy maduro y con mucha comunidad por detrás usado en muchas de las empresas tecnológicas a nivel mundial. Pero siempre somos críticos con todo lo que usamos y estudiamos las alternativas que puedan mejorar nuestra vida dentro de nuestros productos y la de nuestros clientes. Si bien Java se va adaptando a las nuevas necesidades, su ritmo de mejora es lento debido a la obligación de dar retrocompatibilidad y ser un lenguaje que nació al calor de otras necesidades.

Por ello dentro dentro de la entidad y en varios de nuestros clientes hemos implantando Kotlin como lenguajes oficial para soluciones basadas en la JVM (nos encanta Scala u otros lenguajes más funcionales pero somos consciente que la curva de aprendizaje es muy alta). Desde el primer mes de implantación la productividad dentro de las empresas fue muy superior:

  • Lenguaje muy sencillo de aprender. Para un programador de Java no le supone más de dos semanas su aprendizaje. Es un punto muy importante donde fallan los lenguajes como Scala o Clojure.
  • Lenguaje 100% compatible con Java: no necesitamos nuevos gestores de dependencias, no necesitamos aprender nada nuevo. Las clases escrita en Kotlin pueden consumir cualquier clase creada con Java, e incluso convivir con ellas en el mismo proyecto: maravilloso 🙂
  • Lenguaje fuertemente tipado. no decimos que lo tipado que lo tipado siempre sea la mejor opción. Para para la parte de backend que tu programa no compile si no usas el tipo correcto ahorra horas de depuración.
  • Elimina el temido error de los mil millones de dólares Nullpointer: se acabo de recibir en tiempo de ejecución este error, el compilador te obliga a trabajar con el valor vacío para que tu programa pueda compilar.
  • Inmutabilidad: en Java poca gente indica final en las definiciones de sus variables, dando lugar a errores en tiempo de ejecución donde muchos de nosotros hemos dejado parte de nuestras horas de juventud :). En Kotlin debes elegir siempre si tus variables serán inmutables, y las colecciones por defecto son todas inmutables.

Respaldado por grandes empresas dedicadas a la creación de software: si Android lo ha nombrado lenguaje oficial, Spring lo está usando e incorporando en su framework, lo usa Trello, Uber ….

Otros proyectos

#APIficación: La revolución de las APIs en el Sector Financiero
Building Event Driven MicroServices with Apache Kafka
APIyoit_Payment Gateway