De Java a Kotlin, o mejor dicho porqué Kotlin y no Java, a continuación algunos comentarios recogidos por personas que ya vienen utilizando Kotlin en su día a día:

  • Kotlin me permite programar más rápido.
  • Kotlin tiene un código más claro.
  • Kotlin me ayuda a razonar mejor.
  • Una ventaja de Kotlin es que es 100% compatible con Java.
  • Kotlin permite reutilización de librerías como otro lenguajes, pero de una forma más sencilla.
  • Kotlin tiene la robuztes y rendimiento de JVM.

Realmente es Kotlin mejor que Java, en realidad nosotros lo vemos como un lenguaje distinto, que tiene sus propias ventajas y desventajas como otro lenguaje, todo va depender del propósito de tu aplicación para definir el lenguaje a utilizar.

De Java a Kotlin, revisando código.

//código JAVA
public int funcion(int valor){
   return valor*2;
}

//código Kotlin
fun funcion(valor: Int):Int{
   return valor*2
}

Podemos revisar en este primer código algunas diferencias, para Kotlin no es necesario poner la palabra reservada public para definir que el método sea publico, es opcional, podemos notar el tipado de los tipos de datos está muy enmarcado similar a los de TypeScript, para el caso de los tipos de datos enteror int & Integer se cambiaron por Int.

Funciones con parámetros por defecto.

//código JAVA
public void contarCaracteres(String s, Boolean espacios = true){
 ....
}

//código Kotlin
fun contarCaracteres(e:String, espacions:Boolea = true){
 ....
}

Podemos darnos cuenta que en si este código se parecen mucho por la lógica que manejan, pero la forma de como hacerlo es distinto, Kotlin acompaña el tipo de datos siempre después de los dos puntos del parámetro; en resumen notamos una pequeña disminución de código.

Variables y Constantes

//var/val
var x = 10   //equivalente en Java a int x = 10
var y: Int = 10
y += x

val x = 10   //equivalente en Java a final int x = 10
val y: Int = 10
y += x

En el código anterior nos podemos dar cuenta que en Kotlin no es necesario definir el tipo de datos ya que este reconoce el tipo de acuerdo al valor que recibe la variable, otro detalle es que no es necesario colocar el punto y coma al final de cada instrucción, esto a veces es un dolor de cabeza para muchos programadores ya que a veces no encontramos el punto y coma del error.

Bucles For

//Bucle for en Java
for (int i=0; i<10;i++)  //0,1,2,3,4,5,6,7,8,9

//Bucle for en Kotlin
for (n in 0 until 10)   //0,1,2,3,4,5,6,7,8,9
for (n in 0 until 10 step 2)  //0,2,4,6,8
for (n in 1 .. 5)  //1,2,3,4,5

Podemos notar que hay una fuerte variación entre el for común que tenemos en Java y el for o los tipos de for que podemos hacer con Kotlin, siendo estos algunos ejemplos.

Clases: Herencia

open class C {}
interface I {}
class B: C(), I {}

No utilizamos las palabras reservadas extends ni implements para la herencia e interfaces respectivamente.

Data Classes

//En Java
public class A{
  private final int x;
  public A(int x){this.x = x;}
  public int getX(return x;}
}

//En Kotlin
data class A(val x:Int)

En está parte notamos un ahorro significativo de código, mientras que en Java escribía varias líneas de cógido en Kotlin se reduce a una.

Bueno espero que está pequeña introducción de comparar Java y Kotlin les sea demucha ayuda, aún nos falta más por compartir así que suscríbete a nuestro Boletín y si te gusto no olvides compartir la información.