Lanzamiento de Kotlin 1.3.50
En esta serie de notas que estaremos hablando de las caracteristicas de kotlin en su nueva actualización. Con esto podrás ver porque es práctico que tomes un curso de kotlin y así puedas mejorar tus habilidades de programación.
Hace poco tiempo se anunció el lanzamiento de Kotlin 1.3.50. Además de las mejoras de calidad y herramientas, el enfoque principal de esta versión ha sido:
Diseño de una nueva API de medición de duración y tiempo (disponible para vista previa). Trabajo en un convertidor mejorado de Java a Kotlin. Generación experimental de declaraciones externas para dependencias npm en proyectos Gradle Kotlin / JS (usando Dukat). Un complemento separado para depurar Kotlin / Código nativo en IntelliJ IDEA Ultimate. Soporte de compilación de Java en proyectos multiplataforma.
Puedes encontrar la lista completa de cambios en el registro de cambios. Ahora vamos a sumergirnos en los detalles.
Optimizaciones de verificación nula planificadas para Kotlin 1.4
Como probablemente sepas, Kotlin disminuye la posibilidad de NullPointerExceptions al proporcionar soporte para tipos anulables. Sin embargo, debido a la interoperabilidad con el código Java, es imposible evitar los NPE por completo.
Para ayudar a los desarrolladores a comprender mejor la fuente de un problema de nulabilidad si ocurre, el compilador de Kotlin lanza diferentes tipos de excepciones de tiempo de ejecución con mensajes de error claros en lugar de NPE puros. Resultó que este enfoque tiene sus desventajas: reduce las posibles optimizaciones de verificación nula que puede realizar el compilador Kotlin o varios tipos de herramientas de procesamiento de código de bytes, como el optimizador Android R8.
Para resolver esto, a partir de Kotlin 1.4, todas las comprobaciones nulas de tiempo de ejecución arrojarán ajava.lang.NullPointerException en lugar de KotlinNullPointerException, IllegalStateException, IllegalArgumentException y TypeCastException.
En la próxima nota explicaremos cómo funciona esta comprobación nula. Por el momento puedes tomar un curso de javascript y uno curso de c#.