Zum Inhalt springen
Willkommen in der InkluPedia

Kotlin (Programmiersprache): Unterschied zwischen den Versionen

1.9.23
(1.8.22)
(1.9.23)
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Infobox Programmiersprache
{{Infobox Programmiersprache
  | Titel                             = Kotlin
  | Titel                       = Kotlin
  | Name                             =
  | Name                         =
  | Logo                             = [[File:Kotlin_logo_2021.svg|frameless|border|180px|Logo]]
  | Logo                         = [[File:Kotlin_logo_2021.svg|frameless|border|180px|Logo]]
  | Beschreibung                     =
  | Beschreibung                 =
  | Paradigma                         = Objektorientierte Programmiersprache
  | Paradigma                   = Objektorientierte Programmiersprache
  | Erscheinungsjahr                 = 2016
  | Erscheinungsjahr             = 2016
  | Designer                         = JetBrains
  | Designer                     = JetBrains
  | Entwickler                       = JetBrains und Open-Source-Entwickler
  | Entwickler                   = JetBrains und Open-Source-Entwickler
  | AktuelleVersion                   = 1.8.22
  | AktuelleVersion             = 1.9.23
  | AktuelleVersionFreigabeDatum     = 8. Juni 2023<ref>[https://blog.jetbrains.com/kotlin/category/releases/ Releases : The Kotlin Blog | The JetBrains Blog]</ref><ref>[https://github.com/JetBrains/kotlin/releases Releases · JetBrains/kotlin · GitHub]</ref>
  | AktuelleVersionFreigabeDatum = 7. März 2024<ref>[https://blog.jetbrains.com/kotlin/category/releases/ Releases : The Kotlin Blog | The JetBrains Blog]</ref><ref>[https://github.com/JetBrains/kotlin/releases Releases · JetBrains/kotlin · GitHub]</ref>
| AktuelleVorabVersion              =
  | Typisierung                 = statisch, stark
| AktuelleVorabVersionFreigabeDatum =
  | Implementierung             =
  | Typisierung                       = statisch, stark
  | Dialekte                     =
  | Implementierung                   =
  | Standardisierungen           =
  | Dialekte                         =
  | Beeinflusst_von             = Java, Scala
  | Standardisierungen               =
  | Beeinflusste                 =
  | Beeinflusst_von                   = Java, Scala
  | Betriebssystem               = Jedes mit einer JVM oder JavaScript-Interpreter
  | Beeinflusste                     =
  | Lizenz                       = Apache
  | Betriebssystem                   = Jedes mit einer JVM oder JavaScript-Interpreter
  | Website                     = [https://kotlinlang.org/ kotlinlang.org]
  | Lizenz                           = Apache
  | Website                           = [https://kotlinlang.org/ kotlinlang.org]
}}
}}
<!-- [[File:Kotlin-logo.png|thumb|frameless|border|100px|altes Logo]] -->
<!-- [[File:Kotlin-logo.png|thumb|frameless|border|100px|altes Logo]] -->
Zeile 53: Zeile 51:
Mit Kotlin 1.7 vom 4. Mai 2022 änderte JetBrains die Terminologie und veröffentlichte davon zuerst eine Betaversion. In dieser Version ist unter anderem die Builder-Inferenz hinzugekommen, welche das Aufrufen generischer Builder-Funktionen erleichtert. Weiterhin sind einige Collection-Funktionen zurückgekommen und die Definitely Non-Nullable Types sind stabilisiert worden und nun standardmäßig aktiviert.<ref>[https://www.heise.de/news/Programmiersprache-Kotlin-1-7-Beta-bringt-min-und-max-zurueck-7078138.html Programmiersprache: Kotlin 1.7 Beta bringt min() und max() zurück | heise online, 06.05.2022]</ref><ref>[https://blog.jetbrains.com/kotlin/2022/05/kotlin-1-7-0-beta/ Kotlin 1.7.0-Beta Released | The Kotlin Blog, May 4, 2022]</ref> Am 9. Juni 2022 erschien dann 1.7.0. Darin ist die Alphaversion des neuen Kotlin/JVM-Compilers K2 enthalten. Kotlin unterstützt in Gradle nun das inkrementelle Kompilieren von Änderungen innerhalb abhängiger Module, die nicht in Kotlin geschrieben sind. Das ist mit dem automatisierten Build-Management kompatibel. Die Annotationen der Opt-in-Anforderungen sind nun stabil und die Non-nullable Types und die Builder-Inferenz wurde überarbeitet. Für Typargumente steht mit 1.7.0 der Underscore Operator bereit. Damit lässt sich ein Typargument automatisch ableiten, wenn andere Typen bereits festgelegt sind.<ref>[https://www.heise.de/news/Programmiersprache-Kotlin-1-7-enthaelt-Alphaversion-des-neuen-K2-Compilers-7137155.html Programmiersprache: Kotlin 1.7 enthält Alphaversion des neuen K2-Compilers | heise online, 10.06.2022]</ref>
Mit Kotlin 1.7 vom 4. Mai 2022 änderte JetBrains die Terminologie und veröffentlichte davon zuerst eine Betaversion. In dieser Version ist unter anderem die Builder-Inferenz hinzugekommen, welche das Aufrufen generischer Builder-Funktionen erleichtert. Weiterhin sind einige Collection-Funktionen zurückgekommen und die Definitely Non-Nullable Types sind stabilisiert worden und nun standardmäßig aktiviert.<ref>[https://www.heise.de/news/Programmiersprache-Kotlin-1-7-Beta-bringt-min-und-max-zurueck-7078138.html Programmiersprache: Kotlin 1.7 Beta bringt min() und max() zurück | heise online, 06.05.2022]</ref><ref>[https://blog.jetbrains.com/kotlin/2022/05/kotlin-1-7-0-beta/ Kotlin 1.7.0-Beta Released | The Kotlin Blog, May 4, 2022]</ref> Am 9. Juni 2022 erschien dann 1.7.0. Darin ist die Alphaversion des neuen Kotlin/JVM-Compilers K2 enthalten. Kotlin unterstützt in Gradle nun das inkrementelle Kompilieren von Änderungen innerhalb abhängiger Module, die nicht in Kotlin geschrieben sind. Das ist mit dem automatisierten Build-Management kompatibel. Die Annotationen der Opt-in-Anforderungen sind nun stabil und die Non-nullable Types und die Builder-Inferenz wurde überarbeitet. Für Typargumente steht mit 1.7.0 der Underscore Operator bereit. Damit lässt sich ein Typargument automatisch ableiten, wenn andere Typen bereits festgelegt sind.<ref>[https://www.heise.de/news/Programmiersprache-Kotlin-1-7-enthaelt-Alphaversion-des-neuen-K2-Compilers-7137155.html Programmiersprache: Kotlin 1.7 enthält Alphaversion des neuen K2-Compilers | heise online, 10.06.2022]</ref>


In Kotlin 1.8.0 vom 12. Januar 2023 ist ein Compiler-Parameter hinzugekommen, der Optimierungen deaktiviert, um das Debuggen übersichtlicher zu gestalten. Weiterhin sind u. a. zwei experimentelle Funktionen hinzugekommen, um Verzeichnisse rekursiv zu löschen oder zu kopieren. Weggefallen sind das JVM-IR-Backend und die Unterstützung von JVM 1.6 = JDK 6 und JVM 1.7 = JDK 7. Die Standard-Libraries sind nun durchgängig für JDK 8 kompiliert. In Kotlin/Native für Anwendungen ohne JVM gab es Verbesserungen bei der Anbindung an Swift und Objective-C.<ref>[https://www.heise.de/news/Programmiersprache-Kotlin-1-8-schneidet-alte-Zoepfe-ab-und-erweitert-das-Debuggen-7458512.html Programmiersprache Kotlin 1.8 schneidet alte Zöpfe ab und erweitert das Debuggen | heise online, 13.01.2023]</ref> Am 3. April 2023 erschien Kotlin 1.8.20. Darin wurde der K2-Compiler als stabil gekennzeichnet. Als Zielplattform steht nun WebAssembly - zunächst als experimentell gekennzeichnet - direkt zur Verfügung. Sieben Plattformziele (wasm32, iosArm32, watchosX86, mingwX86, linuxArm32Hfp, linuxMips32, linuxMipsel32) für Kotlin/Native wurden in Kotlin 1.8.20 als deprecated gekennzeichnet. Weitere Neuerungen sind u. a. eine Vorschau des Serialisierungs-Plug-ins für den K2-Compiler und eine Anbindung an den JS-IR-Compiler für JavaScript.<ref>[https://www.heise.de/news/Programmiersprache-Kotlin-1-8-20-bringt-direkte-Anbindung-an-WebAssembly-8570626.html Programmiersprache Kotlin 1.8.20 bringt direkte Anbindung an WebAssembly | heise online, 05.04.2023]</ref>
In Kotlin 1.8.0 vom 12. Januar 2023 ist ein Compiler-Parameter hinzugekommen, der Optimierungen deaktiviert, um das Debuggen übersichtlicher zu gestalten. Weiterhin sind u. a. zwei experimentelle Funktionen hinzugekommen, um Verzeichnisse rekursiv zu löschen oder zu kopieren. Weggefallen sind das JVM-IR-Backend und die Unterstützung von JVM 1.6 = JDK 6 und JVM 1.7 = JDK 7. Die Standard-Libraries sind nun durchgängig für JDK 8 kompiliert. In Kotlin/Native für Anwendungen ohne JVM gab es Verbesserungen bei der Anbindung an Swift und Objective-C.<ref>[https://www.heise.de/news/Programmiersprache-Kotlin-1-8-schneidet-alte-Zoepfe-ab-und-erweitert-das-Debuggen-7458512.html Programmiersprache Kotlin 1.8 schneidet alte Zöpfe ab und erweitert das Debuggen | heise online, 13.01.2023]</ref> Am 3. April 2023 erschien Kotlin 1.8.20. Darin wurde der K2-Compiler als stabil gekennzeichnet. Als Zielplattform steht nun WebAssembly - zunächst als experimentell gekennzeichnet - direkt zur Verfügung. Sieben Plattformziele (wasm32, iosArm32, watchosX86, mingwX86, linuxArm32Hfp, linuxMips32, linuxMipsel32) für Kotlin/Native wurden in Kotlin 1.8.20 als deprecated gekennzeichnet. Weitere Neuerungen sind u. a. eine Vorschau des Serialisierungs-Plug-ins für den K2-Compiler und eine Anbindung an den JS-IR-Compiler für JavaScript.<ref>[https://www.heise.de/news/Programmiersprache-Kotlin-1-8-20-bringt-direkte-Anbindung-an-WebAssembly-8570626.html Programmiersprache Kotlin 1.8.20 bringt direkte Anbindung an WebAssembly | heise online, 05.04.2023]</ref> Mit Kotlin 1.9.20 vom 1. November 2023 erreichte die plattformübergreifende Entwicklung dank Kotlin Multiplatform (KMP) nun den stabilen Status. Durch den stabilen Status erfolgt die Weiterentwicklung von KMP rückwärtskompatibel. Mit KMP lassen sich Anwendungen für Android, iOS, Windows, macOS, Linux und Webbrowsern mit einer gemeinsamen Codebasis erstellen. KMP setzt auf eine Mischung aus Cross-Plattform-Code und nativen Abschnitten für die einzelnen Systeme. Eine der Neuerungen in KMP ist eine Standardvorlage, um plattformübergreifende Projekte für das Build-Werkzeug Gradle zu definieren. Die WebAssembly-Anbindung ist in dieser Version weiterhin als experimentell gekennzeichnet. Der K2-Compiler hat nun auf allen Plattformen die Betaphase erreicht. Parallel zu Kotlin 1.9.20 erschien das UI-Framework Compose Multiplatform 1.5.10.<ref>[https://www.heise.de/news/Kotlin-macht-Ernst-mit-der-plattformuebergreifenden-Programmierung-9352485.html Kotlin macht Ernst mit der plattformübergreifenden Programmierung | heise online, 03.11.2023]</ref>


== Versionen (Auswahl) ==
== Versionen (Auswahl) ==
Zeile 101: Zeile 99:
  |-
  |-
  | 1.8.20 || 3. April 2023<ref>[https://blog.jetbrains.com/kotlin/2023/04/kotlin-1-8-20-released/ Kotlin 1.8.20 Released | The Kotlin Blog, April 25, 2023]</ref>
  | 1.8.20 || 3. April 2023<ref>[https://blog.jetbrains.com/kotlin/2023/04/kotlin-1-8-20-released/ Kotlin 1.8.20 Released | The Kotlin Blog, April 25, 2023]</ref>
|-
| 1.9.0 || 6. Juli 2023<ref>[https://blog.jetbrains.com/kotlin/2023/07/kotlin-1-9-0-released/ Kotlin 1.9.0 Released | The Kotlin Blog, July 6, 2023]</ref>
|-
| 1.9.20 || 1. November 2023<ref>[https://blog.jetbrains.com/kotlin/2023/11/kotlin-1-9-20-released/ Kotlin 1.9.20 Released | The Kotlin Blog, November 1, 2023]</ref>
|}
|}


Zeile 107: Zeile 109:
*2019: ''Kotlin von Kopf bis Fuß: Eine Einführung in die Kotlin-Programmierung'', Dawn Griffiths und David Griffiths, 480 Seiten, O'Reilly, {{ISBN|978-3960091127}} <!-- 29. August 2019 -->
*2019: ''Kotlin von Kopf bis Fuß: Eine Einführung in die Kotlin-Programmierung'', Dawn Griffiths und David Griffiths, 480 Seiten, O'Reilly, {{ISBN|978-3960091127}} <!-- 29. August 2019 -->
*2019: ''Kotlin: Einstieg und Praxis'', Karl Szwillus, 360 Seiten, mitp, {{ISBN|978-3958458536}} <!-- 30. November 2019 -->
*2019: ''Kotlin: Einstieg und Praxis'', Karl Szwillus, 360 Seiten, mitp, {{ISBN|978-3958458536}} <!-- 30. November 2019 -->
*2020: ''Programmieren lernen mit Kotlin: Grundlagen, Objektorientierung und fortgeschrittene Konzepte'', Christian Kohls, Alexander Dobrynin und Florian Leonhard, 524 Seiten, ‎Carl Hanser Verlag, {{ISBN|‎978-3446467026}} <!-- 7. September 2020 -->
*2020: ''Programmieren lernen mit Kotlin: Grundlagen, Objektorientierung und fortgeschrittene Konzepte'', Christian Kohls, Alexander Dobrynin und Florian Leonhard, 524 Seiten, Carl Hanser Verlag, {{ISBN|978-3446467026}} <!-- 7. September 2020 -->
*2020: ''Kotlin: Das umfassende Handbuch'', Michael Kofler, 804 Seiten, Rheinwerk Computing, {{ISBN|978-3836272773}} <!-- 23. Oktober 2020 -->
*2020: ''Kotlin: Das umfassende Handbuch'', Michael Kofler, 804 Seiten, Rheinwerk Computing, {{ISBN|978-3836272773}} <!-- 23. Oktober 2020 -->
*2021: ''Einstieg in Kotlin: Apps entwickeln mit Android Studio'', Thomas Theis, 526 Seiten, Rheinwerk Computing, 2. Auflage, {{ISBN|978-3836285339}} <!-- 30. September 2021 -->
*2021: ''Einstieg in Kotlin: Apps entwickeln mit Android Studio'', Thomas Theis, 526 Seiten, Rheinwerk Computing, 2. Auflage, {{ISBN|978-3836285339}} <!-- 30. September 2021 -->
Zeile 116: Zeile 118:
*[https://blog.jetbrains.com/kotlin/ Kotlin Blog | Kotlin — programming language for the JVM by JetBrains]
*[https://blog.jetbrains.com/kotlin/ Kotlin Blog | Kotlin — programming language for the JVM by JetBrains]
*{{Twitter|kotlin|Kotlin}}
*{{Twitter|kotlin|Kotlin}}
*{{EN-WP|Kotlin_(programming_language)|Kotlin (programming language)}}


== Quellen ==
== Quellen ==
62.827

Bearbeitungen