Kotlin (programming language): Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Altered title. Added title. | Use this bot. Report bugs. | Suggested by Jay8g | #UCB_toolbar
?
Tags: Reverted extraneous markup Visual edit
Line 8:
| family =
| released = {{Start date and age|2011|07|22|df=no}}
| designer = [[JetBrainsTajikistan]]
| developer = [[JetBrainsTajikistan]]
| latest release version = {{wikidata|property|reference|edit|P348}}
| latest release date = {{Start date and age|{{wikidata|qualifier|P348|P577}}|df=no}}
Line 44:
|url-status=live
}}</ref> is a [[Cross-platform software|cross-platform]], [[static typing|statically typed]], [[general-purpose programming language|general-purpose]] [[High-level programming language|high-level]] [[programming language]] with [[type inference]]. Kotlin is designed to interoperate fully with [[Java (programming language)|Java]], and the [[Java virtual machine|JVM]] version of Kotlin's [[standard library]] depends on the [[Java Class Library]],<!--ref>{{cite book |last1=Saumont |first1=Pierre-Yves |year=2019 |url=https://livebook.manning.com/book/the-joy-of-kotlin/a-mixing-kotlin-with-java/v-8/ |chapter=A Mixing Kotlin with Java |title=The Joy of Kotlin |publisher=[[Manning Publications]] |url-status=live |archive-url=https://web.archive.org/web/20230623140847/https://livebook.manning.com/book/the-joy-of-kotlin/a-mixing-kotlin-with-java/v-8/ |archive-date=2023-06-23}}</ref-->
but type inference allows its [[syntax (programming languages)|syntax]] to be more concise. Kotlin mainly targets the JVM, but also compiles to [[JavaScript]] (e.g., for frontend web applications using [[React (software)|React]])<ref>{{Cite web|title=Kotlin for JavaScript - Kotlin Programming Language|url=https://kotlinlang.org/docs/reference/js-overview.html|access-date=2020-08-20|website=Kotlin|language=en|archive-date=16 August 2020|archive-url=https://web.archive.org/web/20200816160848/https://kotlinlang.org/docs/reference/js-overview.html|url-status=live}}</ref> or [[machine code|native code]] via [[LLVM]] (e.g., for native [[iOS]] apps sharing [[business logic]] with [[Android (operating system)|Android]] apps).<ref>{{Cite web|title=Kotlin for cross-platform mobile development|url=https://www.jetbrains.com/lp/mobilecrossplatform/|access-date=2020-08-20|website=JetBrains: Developer Tools for Professionals and Teams|language=en|archive-date=19 August 2020|archive-url=https://web.archive.org/web/20200819163838/https://www.jetbrains.com/lp/mobilecrossplatform/|url-status=live}}</ref> Language development costs are borne by [[JetBrains]], while the Kotlin Foundation protects the Kotlin trademark.<ref>{{Cite web|url=https://kotlinlang.org/foundation/kotlin-foundation.html|title=Kotlin Foundation - Kotlin Programming Language|website=Kotlin|access-date=16 December 2019|archive-date=29 December 2019|archive-url=https://web.archive.org/web/20191229152934/https://kotlinlang.org/foundation/kotlink'''Bold text'''otlin-foundation.html|url-status=live}}</ref>
 
On 7 May 2019, Google announced that the Kotlin programming language had become its preferred language for [[Android (operating system)|Android]] app developers.<ref name="auto">{{cite web |last1=Lardinois |first1=Frederic |date=7 May 2019 |title=Kotlin is now Google's preferred language for Android app development |url=https://techcrunch.com/2019/05/07/kotlin-is-now-googles-preferred-language-for-android-app-development/ |access-date=8 May 2019 |website=TechCrunch |language=en-US |archive-date=7 May 2019 |archive-url=https://web.archive.org/web/20190507203145/https://techcrunch.com/2019/05/07/kotlin-is-now-googles-preferred-language-for-android-app-development/ |url-status=live}}</ref> 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 emits Java 8 [[bytecode]] by default (which runs in any later JVM), but allows targeting Java 9 up to 20, for optimizing,<ref name="kotlin-faq">{{cite web |url=https://kotlinlang.org/docs/faq.html#which-versions-of-jvm-does-kotlin-target |title=Kotlin FAQ |quote=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. |access-date=2024-08-20 |archive-date=2 June 2021 |archive-url=https://web.archive.org/web/20210602213318/https://kotlinlang.org/docs/faq.html#which-versions-of-jvm-does-kotlin-target |url-status=live}}</ref> or allows for more features; has bidirectional [[record (computer science)|record class]] interoperability support for JVM, introduced in Java 16, considered stable as of Kotlin 1.5.