Many programming languages impacted Kotlin, including (but not limited to) Java, Scala, C#, and Groovy. One of the key ideas behind the introduction of Kotlin programming language is that it is pragmatic, a programming language useful for Android development that assists users in getting the job done with its features and tools.
Kotlin is a general-purpose, multiplatform, statically typed programming language. It currently supports compilation to the following platforms as of version 1.7:
- JVM (Java Virtual Machine)
- JS (JavaScript)
- Native (native binaries for various architectures)
Furthermore, its Kotlin Multiplatform Project (Kotlin MPP) capability offers seamless interoperability between different platforms.
Kotlin’s type system distinguishes between nullable and not-nullable types at compile time, attaining null safety, i.e., ensuring the absence of runtime problems caused by a value’s lack (i.e., null value). Kotlin additionally enhances its static type system with gradual and flow typing features for improved interoperability and ease of development.