Kotlin is a new language supported by JetBrains that runs on the JVM and is 100% interoperable with Java. It supports features like variables, properties, functions, lambdas, higher-order functions, and data classes. Variables in Kotlin can be declared as mutable using 'var' or immutable using 'val'. Properties in Kotlin combine fields and accessors. Functions can be declared using a constructor block and initialize block. Kotlin also supports nullable types, lambda expressions, higher-order functions that take functions as arguments, and data classes to automatically generate common functions like toString().