Kotlin does not need ; to end statements • Kotlin is null-safe
• Kotlin is 100% Java interoperable • Kotlin has no primitives (put optimizes their object counterparts for the JVM, if possible) • Kotlin classes have properties, not fields • Kotlin offers data classes with auto-generated equals/hashCode methods and field accessors • Kotlin only has runtime Exceptions, no checked Exceptions • Kotlin has no new keyword. Creating objects is done just by calling the constructor like any other method. • Kotlin supports (limited) operator overloading. For example, accessing a value of a map can be written like: val a someMap ["key"] • Kotlin can not only be compiled to byte code for the JVM, but also into Java Scri you to write both backend and frontend code in Kotlin