Kotlin (programming language)

Kotlin
ParadigmMulti-paradigm: object-oriented, functional, imperative, block structured, declarative, generic, reflective, concurrent
Designed byJetBrains
DeveloperJetBrains
First appearedJuly 22, 2011; 13 years ago (2011-07-22)
Stable release
2.0.20[1] Edit this on Wikidata / 22 August 2024; 2 months ago (22 August 2024)
Typing disciplineInferred, static, strong
Platform
OSCross-platform
LicenseApache License 2.0
Filename extensions.kt, .kts, .kexe, .klib
Websitekotlinlang.org Edit this at Wikidata
Influenced by
Influenced
V (Vlang)

Kotlin (/ˈkɒtlɪn/)[2] is a cross-platform, statically typed, general-purpose high-level programming language with type inference. Kotlin is designed to interoperate fully with Java, and the JVM version of Kotlin's standard library depends on the Java Class Library, but type inference allows its syntax to be more concise. Kotlin mainly targets the JVM, but also compiles to JavaScript (e.g., for frontend web applications using React)[3] or native code via LLVM (e.g., for native iOS apps sharing business logic with Android apps).[4] Language development costs are borne by JetBrains, while the Kotlin Foundation protects the Kotlin trademark.[5]

On 7 May 2019, Google announced that the Kotlin programming language was now its preferred language for Android app developers.[6] Since the release of Android Studio 3.0 in October 2017, Kotlin has been included as an alternative to the standard Java compiler. The Android Kotlin compiler produces Java 8 bytecode by default (which runs in any later JVM), but lets the programmer choose to target Java 9 up to 20, for optimization,[7] or allows for more features; has bidirectional record class interoperability support for JVM, introduced in Java 16, considered stable as of Kotlin 1.5.

Kotlin has support for the web with Kotlin/JS, through an intermediate representation-based backend which has been declared stable since version 1.8, released December 2022. Kotlin/Native (for e.g. Apple silicon support) has been declared stable since version 1.9.20, released November 2023.[8][9]

  1. ^ "Release Kotlin 2.0.20 (Repository)".
  2. ^ "What is the correct English pronunciation of Kotlin?". 16 October 2019. Archived from the original on 9 November 2019. Retrieved 9 November 2019.
  3. ^ "Kotlin for JavaScript - Kotlin Programming Language". Kotlin. Archived from the original on 16 August 2020. Retrieved 20 August 2020.
  4. ^ "Kotlin for cross-platform mobile development". JetBrains: Developer Tools for Professionals and Teams. Archived from the original on 19 August 2020. Retrieved 20 August 2020.
  5. ^ "Kotlin Foundation - Kotlin Programming Language". Kotlin. Archived from the original on 29 December 2019. Retrieved 16 December 2019.
  6. ^ Lardinois, Frederic (7 May 2019). "Kotlin is now Google's preferred language for Android app development". TechCrunch. Archived from the original on 7 May 2019. Retrieved 8 May 2019.
  7. ^ "Kotlin FAQ". Archived from the original on 2 June 2021. Retrieved 20 August 2024. Kotlin lets you choose the version of JVM for execution. By default, the Kotlin/JVM compiler produces Java 8 compatible bytecode. If you want to make use of optimizations available in newer versions of Java, you can explicitly specify the target Java version from 9 to 21. Note that in this case the resulting bytecode might not run on lower versions.
  8. ^ "Stability of Kotlin Components". Kotlin. 21 May 2021. Archived from the original on 29 July 2021. Retrieved 29 July 2021.
  9. ^ "Kotlin 1.5.0 – the First Big Release of 2021". Kotlin. 4 May 2021. Archived from the original on 12 August 2021. Retrieved 29 July 2021.