Kotlin (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Kotlin
Logo
Basisdaten
Paradigmen: Objektorientierte Programmiersprache
Erscheinungsjahr: 2016
Entwickler: JetBrains und Open-Source-Entwickler
Aktuelle Version: 1.2  (27. November 2017)
Aktuelle Vorabversion: 1.2-Beta2  (19. Oktober 2017)
Typisierung: statisch, stark
Beeinflusst von: Java, Scala, C#, Groovy[1], Gosu, JavaScript
Lizenz: Apache 2[2]
kotlinlang.org

Kotlin ist eine statisch typisierte Programmiersprache, die in Bytecode für die Java Virtual Machine (JVM) übersetzt wird, aber auch in JavaScript-Quellcode transformiert werden kann. Hauptsächlich wurde die Sprache von den in Sankt Petersburg ansässigen JetBrains-Programmierern entwickelt. Daher stammt auch der Name: Kotlin ist eine Insel vor St. Petersburg.[3]

Entwicklung[Bearbeiten | Quelltext bearbeiten]

Nach einem Jahr Entwicklung stellte JetBrains im Juli 2011 das Projekt „Kotlin“ der Öffentlichkeit als neue Sprache für die JVM vor.[4] Im Februar 2012 veröffentlichte JetBrains den Quellcode unter einer Apache-2-Lizenz.[5] Am 15. Februar 2016 wurde die Version 1.0 von Kotlin veröffentlicht.[6] Diese Version wird als erster offizieller Stable-Release betrachtet.

Der leitende Entwickler Dimitry Jemerow erklärte, dass die meisten Sprachen nicht die Merkmale zeigen, nach denen sie gesucht hätten, mit Ausnahme von Scala. Diese jedoch hätte einen langsamen Compiler.[4] Daher war eines der erklärten Ziele für Kotlin die hohe Kompiliergeschwindigkeit, wie man sie von Java her kenne.

Tools[Bearbeiten | Quelltext bearbeiten]

Für die auch von JetBrains entwickelte IDE IntelliJ IDEA steht ein Kotlin-Plugin zur Verfügung, welches seit IntelliJ IDEA 15 mitinstalliert werden kann.[7][8] Für Eclipse steht ebenfalls ein Plugin zur Verfügung.[9][10] Es existieren zudem Plugins für Apache Maven und Gradle und ein Task für Apache Ant.[11] Die offizielle Android-Entwicklungsumgebung Android Studio unterstützt ab Version 3.0 Kotlin als native Sprache zum Entwickeln von Android-Apps.[12]

Syntax[Bearbeiten | Quelltext bearbeiten]

Die Sprache ist syntaktisch nicht zu Java kompatibel, aber so gestaltet, dass sie mit Java-Code interoperieren kann. Außerdem nutzt sie bestehenden Code der Java Class Library (JCL), z. B. das Java Collections Framework (JCF).

Bei Kotlin kann der Datentyp, abgetrennt durch einen Doppelpunkt, nach dem Variablennamen notiert werden, jedoch unterstützt Kotlin auch Typinferenz. Als Anweisungsende genügt der Zeilenumbruch, optional kann ein Semikolon verwendet werden.[13] Zusätzlich zu Klassen und Methoden (in Kotlin: member functions) aus der objektorientierten Programmierung unterstützt Kotlin prozedurale Programmierung unter Verwendung von Funktionen.[14] Als Einstiegspunkt dient wie bei C u. ä. eine main-Funktion.

Hallo Welt!“-Beispiel
fun main(args: Array<String>) {   		               	// Einsprungpunkt (Main-Funktion)
    println("Hallo Welt!")        		                // Gib den String 'Hallo Welt!' aus
}
Beispiel einer Funktion
fun main(args: Array<String>) {                          // Einsprungpunkt (Main-Funktion)
    fun funktionsBeispiel() {                            // Erstellen der Funktion 'funktionsBeispiel'

        val a = 120                                      // Weist der Variable 'a' den Integer-Wert 120 zu

        if (a == 100) {                                  // if..else-Anweisung, prüft ob 'a' gleich 100 entspricht
            println("a entspricht 100")                  // Falls 'a' 100 entspricht, gib 'a entspricht 100' aus.
        } else if (a == 130) {                           // Ansonsten prüfe, ob a gleich 130 entspricht
            println("a entspricht 130")                  // und gib 'a entspricht 130' aus.
        } else  {                                        // Falls 'a' weder 100 noch 130 entspricht, gib
            println("a entspricht weder 100 noch 130")   // 'a entspricht weder 100 noch 130' aus.
        }
    }                                                    // Funktionsende

    funktionsBeispiel()                                  // Aufrufen der Funktion

}
Beispiel für die Verwendung des safe navigation operator
  // returns null if...
  // - foo() returns null,
  // - or if foo() is non-null, but bar() returns null,
  // - or if foo() and bar() are non-null, but baz() returns null.
  // vice versa, return value is non-null if and only if foo(), bar() and baz() are non-null
  foo()?.bar()?.baz()

Rezeption[Bearbeiten | Quelltext bearbeiten]

In der Ausgabe Januar 2012 des Dr. Dobb’s Journal wurde die Programmiersprache zur Sprache des Monats (language of the month) erklärt.[15]

Der Kotlin-Website zufolge setzen kleine wie große Projekte die Sprache ein:

  • Pinterest nutzen monatlich 150 Millionen Anwender.
  • Gradle setzt Kotlin für Installationsskripte ein.
  • Evernote verwendet Kotlin für seinen Android client
  • Uber nutzt Kotlin für interne Werkzeuge
  • Corda, eine vollständig in Kotlin entwickelte Open-Source-Software wird von mehreren Großbanken verwendet.
  • Coursera entwickelt Android-Apps zum Teil mit Kotlin
  • Atlassian verwendet Kotlin für das Werkzeug Trello unter Android.[16]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Introduction to Kotlin Programming.
  2. kotlin/license/README.md. In: JetBrains/kotlin. GitHub; abgerufen am 20. September 2017.
  3. Janice Heiss: The Advent of Kotlin: A Conversation with JetBrains' Andrey Breslav. Oracle Technology Network. April 2013. Abgerufen am 2. Februar 2014.
  4. a b Paul Krill: JetBrains readies JVM language Kotlin. InfoWorld. 22. Juli 2011. Abgerufen am 2. Februar 2014.
  5. John Waters: Kotlin Goes Open Source. 1105 Enterprise Computing Group. 22. Februar 2012. Abgerufen am 2. Februar 2014.
  6. Andrey Breslav: Kotlin 1.0 Released: Pragmatic Language for JVM and Android. 15. Februar 2016.
  7. What’s New in IntelliJ IDEA.
  8. Jetbrains Plugin Repository:Kotlin.
  9. Getting Started with Eclipse Neon - Kotlin Programming Language.
  10. Kotlin for Eclipse.
  11. Kotlin Build Tools.
  12. Rainald Menge-Sonnentag: Entwicklungsumgebung Android Studio 3.0 spricht Kotlin. heise.de. 26. Oktober 2017. Abgerufen am 27. Oktober 2017.
  13. Semicolons. Abgerufen am 8. Februar 2014.
  14. functions. Abgerufen am 8. Februar 2014.
  15. Andrey Breslav: Language of the Month: Kotlin. 20. Januar 2012. Abgerufen am 2. Februar 2014.
  16. Project Kotlin.: „Kotlin in backend, data processing and service development“