Best practice by design

By examining other languages, and common best practices, Kotlin's designers have been able to provide language features and syntax that make it easier to write safer, cleaner, more concise code by default.

A few examples of this include the following:

Long considered to be the billion dollar mistakenull, and how to handle it properly, is one of the most common challenges for Java developers. Kotlin looks to improve on this by making types non-null by default, and it requires developers to explicitly mark something as nullable. 

Kotlin includes first-class support for functions and for function types. This makes Kotlin well suited to functional programming and can allow developers to reduce the number of classes in their projects. Features such as data classes, invariant arrays, and final-by-default classes all help enforce immutability in your code base. 

By making it easier, or the default behavior, to enforce best practices, it makes it more likely that developers will follow them. 

After understanding the best practices for learning Kotlin from Java and by design, we can now check the current state of Kotlin.