¿Kotlin es difícil de aprender y por qué ahora se considera como el idioma principal para Android?

Si está buscando aprender a programar, comenzar con Kotlin no es una buena idea. Kotlin es un lenguaje de programación industrial. No es un lenguaje de enseñanza. Kotlin lo distraerá con sus complejas características de lenguaje y le quitará su enfoque de lo que es realmente importante: aprender conceptos básicos de programación .

Por cierto, el mismo comentario se aplica a Java, Python, JavaScript, C #, C ++, PHP, C, Ruby y todos los demás lenguajes de programación principales.

¿Qué es un buen lenguaje de enseñanza? Uno que es muy, muy simple y fácil de aprender, especialmente. para principiantes absolutos a la programación. Un buen lenguaje de enseñanza está diseñado específicamente para propósitos de instrucción. Solo quedan unos pocos buenos idiomas de enseñanza hoy, por ejemplo, Logo, Scheme, Smalltalk.

Siempre recomiendo Smalltalk: vea ¿Qué hace que un lenguaje de programación sea “genial”? Hacker Noon.

Si desea aprender a programar, consulte mi página de recursos: Esperando la edición final antes de la publicación – Aprenda a programar.

¿Por qué es Kotlin el idioma principal de Android? No lo es … todavía.

Google convirtió a Kotlin en un lenguaje de primera clase para Android. Eso no disminuye Java, que seguirá siendo el lenguaje dominante de Android durante muchos años. Simplemente se invierte demasiado en Java para tirarlo todo a la basura.

Pero Kotlin es más limpio y agradable que Java, y 100% interoperable con Java. Estoy seguro de que la relación de Google con JetBrains también tuvo algo que ver con eso.

Kotlin no es difícil de aprender. Pero una de las diferencias cuando comienzas a darte cuenta cuando comienzas a aprender Kotlin es: es bastante diferente de tu lenguaje de programación regular que hubieras estudiado en la universidad o la escuela (C, Java, C ++).

Kotlin es un lenguaje compatible con JVM, pero es muy diferente de Java, en términos de más cosas que puede lograr en menos líneas de código. Menores líneas de código significan, menor código para mantener, menores errores, más productividad. Seguramente puedo decir que incluso Swift (el lenguaje de programación de código abierto de Apple) es así.

Estos lenguajes de programación modernos como Swift y Kotlin son lenguajes de programación de programadores, por los programadores y para los programadores. Estos lenguajes de programación no provienen de alguna investigación académica o de alguna búsqueda personal individual. Swift fue desarrollado por Chris Lattner y Apple. Kotlin fue desarrollado por la compañía Jetbrains, la misma compañía que creó Android Studio e IntelliJ IDEs.

El punto que estoy tratando de hacer aquí es: estos lenguajes tienen un enfoque muy práctico y brutalmente directo en su esfuerzo por facilitar la vida de un programador profesional. Es solo que estos lenguajes se derivan del conocimiento de los dolores que los programadores solían enfrentar al emprender proyectos de desarrollo de software a gran escala industrial. Diría que estos lenguajes modernos están más en sintonía con las necesidades de un programador profesional experimentado. No digo que los principiantes no puedan aprenderlo. Es solo que los programadores más experimentados aprecian mejor a Kotlin y Swift.

Solo para dar un ejemplo muy básico. Veamos cómo se ve una declaración de función / método en Kotlin y Swift frente a Java.

Kotlin:

diversión getSummation (numOne: Int, numTwo: Int): Int {

return (numOne + numTwo)

}

Rápido

func getSummation (numOne: Int, numTwo: Int) -> Int {

return (numOne + numTwo)

}

Java

public int getSummation (int numOne, int numTwo) {

return (numOne + numTwo);

}

Cuando piensa en un método o función, siempre piensa en este orden

¿Cuál es el nombre del método / función? ¿Cuáles son sus argumentos? y que devuelve

En Java o en la mayoría de los lenguajes de estilos C, tendrá que pensar qué devuelve el método / función. ¿cual es el nombre? y finalmente, ¿cuáles son sus argumentos?

¿Cuál es más natural? Leer una declaración de función en Swift y Kotlin es mucho más natural.

Esto es sólo un ejemplo. Tanto Kotlin como Swift no necesitan punto y coma “;” al final de cada declaración (al igual que Python). En Java es obligatorio. ¿Te imaginas cuántos puntos y comas tiene que escribir un programador en su carrera profesional de programación? Personalmente no me importan los punto y coma. En Java, el número de veces que hará una comprobación nula es realmente doloroso en lo que se menciona. Pero en Kotlin y Swift, es mucho más elegante. Hay muchos ejemplos como este.

Perdón por desviarme pero solo quería aclarar mi punto.

He sido programador profesional de Java durante casi siete años. Pero también he comenzado a no gustarme el enfoque de mierda de Swift y Kotlin.

La declaración oficial de Google en Kotlin con respecto a Android es: “Es un idioma oficialmente compatible para Android”. Hay una diferencia entre “oficialmente” y “primario”. Eso significa que a partir de ahora los desarrolladores de Kotlin pueden confiar en que Google obtendrá el mismo tipo de soporte para el desarrollo de Android que los desarrolladores de Java siempre tuvieron. Todas las bibliotecas y marcos de Google para Android también estarán disponibles en Kotlin. Por lo tanto, los desarrolladores de Kotlin no están a merced de Jetbrains o de algunos buenos samaritanos para obtener una biblioteca compatible con Kotlin para el desarrollo de Android. Java estará allí y Kotlin es solo un complemento.

No creo que Kotlin sea difícil de aprender. Si tiene algún conocimiento sobre Java y Javascript o cualquier programación funcional – Wikipedia, verá que es fácil de aprender.

Honestamente, no sé si Google usará Kotlin como idioma principal. Durante Google IO 2017, dijeron “Ahora, el estudio de Android es compatible con Kotlin” (¿Me perdí algo?). Es realmente una buena noticia, porque el programador de Kotlin puede desarrollar aplicaciones de Android, no solo Java. Puede elegir uno de ellos para hacer su aplicación, Java no morirá en un futuro próximo.

Es similar a que Apple admite Swift y Object-C, no obligan a los programadores a usar Swift.

Finalmente, no prestes atención al lenguaje de programación, concentrémonos en tus habilidades y experiencia

Sin embargo, Java es el idioma principal para Android. Kotlin reemplazará a Java en unos años, pero no en la actualidad.