Kotlin: Das bessere Java

Kotlin ist die am schnellsten wachsende Programmiersprache auf der Java Virtual Machine. Was macht Kotlin so attraktiv?

Artikel von Marc Reichelt veröffentlicht am
Die Insel Kotlin ist der Namensgeber der Programmiersprache
Die Insel Kotlin ist der Namensgeber der Programmiersprache (Bild: Leontiy Spafaryev / Wikipedia/CC-BY 3.0)

Eine gute Programmiersprache erhöht die Lesbarkeit von Programmen und deren langfristige Wartbarkeit. Je schneller Fehler behoben werden können, desto mehr Zeit bleibt für das Entwickeln des Produkts. Genau dort setzt Kotlin an: Die Programmiersprache auf der Java Virtual Machine (JVM) hat sich zum Ziel gesetzt, viele Fehler gar nicht erst entstehen zu lassen. Durch Null Safety können Null Exceptions bereits zur Compile-Zeit ausgeschlossen werden.

Inhalt:
  1. Kotlin: Das bessere Java
  2. Kotlin ist leicht zugänglich

Eine Fülle an Sprachkonstrukten wie Sealed Classes, Objects und Inline Classes ermöglicht es, Datentypen zu definieren, die unstimmige Kombinationen gar nicht erst zulassen. Damit das Arbeiten mit der Sprache trotz der statischen Typisierung möglichst angenehm ist, kann Kotlin den Datentyp automatisch dem Ausdruck entnehmen (Type Inference).

Auch mit althergebrachten Fehlerquellen räumt Kotlin auf. So wird man etwa das von Java und C/C++ bekannte Switch-Konstrukt in Kotlin nicht finden. Stattdessen gibt es ein mächtigeres When, bei dem Fehler wie vergessene break-Statements der Vergangenheit angehören.

Eines der gefragtesten Kotlin-Features sind Data Classes. Diese generieren automatisch und unsichtbar alle Methoden, die man braucht: toString(), equals(), hashCode(), copy() und alle Getters und Setters. An diesen wird eine weitere Stärke von Kotlin sichtbar: Es macht Programme besser lesbar und kürzer.

  • Beispiel für eine data class in Kotlin
Beispiel für eine data class in Kotlin
Stellenmarkt
  1. SAP ABAP Entwickler (m/w/x)
    über duerenhoff GmbH, Berlin
  2. SAP Logistik-Berater (m/w/x) mit Fokus auf SD - SAP Logistic
    über duerenhoff GmbH, Darmstadt
Detailsuche

Auch Immutability hat bei Kotlin einen besonderen Stellenwert. Dies fängt bei der Benennung der Variablen an: val (immutable) und var (mutable). Der Clou: Durch die gleiche Wortlänge muss man nicht zwischen besserer Wartbarkeit und besserer Lesbarkeit wählen. Und die Entscheidung von Kotlin, das neue Interface List einzuführen, das standardmäßig immutable ist, führt dazu, dass Listen nicht mehr aus Versehen geändert werden.

Für Java-Entwickler bietet Kotlin neben einer vollen Interoperabilität zwischen Kotlin- und Java-Code vor allem eins: den kompletten Zugriff auf das gesamte Java-Ökosystem. Alle Java-Libraries sind auch unter Kotlin einsetzbar. Für Android-Entwickler konnte Kotlin in der Vergangenheit vor allem dadurch punkten, dass plötzlich viele neue Sprachkonstrukte - zum Beispiel in der funktionalen Programmierung - zur Verfügung standen, die auf Android zuvor nicht komfortabel eingesetzt werden konnten.

2019 kündigte Google an, dass Android-Entwicklung künftig "Kotlin first" sein wird. So ist Jetpack Compose, das neue UI-Toolkit für Android, komplett in Kotlin geschrieben und derzeit nur mit Kotlin zu verwenden.

  • Jetpack Compose, das neue UI-Toolkit für Android
Jetpack Compose, das neue UI-Toolkit für Android

Nicht zuletzt ist die Zusammenarbeit zwischen der Programmiersprache Kotlin und IntelliJ IDEA zu erwähnen. Da beide von Jetbrains entwickelt werden, konnte ein besonderes Augenmerk auf das Zusammenspiel gelegt werden. Es funktionieren alle Refactorings, die man heutzutage erwartet. Hinzu kommen weitere Helfer: Viele Kotlin-Konstrukte können über Shortcuts und Quick Fixes verbessert werden.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Kotlin ist leicht zugänglich 
  1. 1
  2. 2
  3.  


dark_matter 15. Nov 2020

Kotlin wird momentan massiv gepushed, deshalb hier eine kurze Darstellung der verwandten...

Trockenobst 12. Nov 2020

Das ist jetzt schon so. Wer Java 8 Codebasen mit Java 8 Style pflegen muss, ist bereits...

demon driver 09. Nov 2020

Ja, da is definitiv was dran. Auch bei uns wird vielfach noch aktiv mit Java 8...

Pete Sabacker 09. Nov 2020

Bei Intellij jedenfalls nicht mit Semantic Highlighting, oder? Lang kein Kotlin mehr...

BLi8819 08. Nov 2020

Das hat ja nichts mit der Sprache zu tun.



Aktuell auf der Startseite von Golem.de
Venturi-Tunnel
Elektro-Motorrad mit Riesenloch auf der Teststrecke

White Motorcycle Concepts testet sein Elektromotorrad WMC250EV, bei dem der Fahrer auf einem riesigen Tunnel sitzt. Später soll es 400 km/h erreichen.

Venturi-Tunnel: Elektro-Motorrad mit Riesenloch auf der Teststrecke
Artikel
  1. Elektroauto: Cadillac Lyriq nach 19 Minuten weg
    Elektroauto
    Cadillac Lyriq nach 19 Minuten weg

    Einen der ersten Cadillac Lyriq zu reservieren, glich mehr einer Lotterie als einem Autokauf. In wenigen Minuten waren alle Luxus-Elektroautos vergriffen.

  2. Autos, Scooter und Fahrräder: Berlin reguliert Sharing-Mobilitätsangebote
    Autos, Scooter und Fahrräder
    Berlin reguliert Sharing-Mobilitätsangebote

    Die Nutzung des öffentlichen Raums durch Autos, Scooter und Fahrräder von Sharing-Unternehmen wird in Berlin reguliert.

  3. Abonnenten verunsichert: Apple hat Hörbücher aus Apple Music entfernt
    Abonnenten verunsichert
    Apple hat Hörbücher aus Apple Music entfernt

    Wer mit einem Musikstreamingabo Hörbücher hören will, muss von Apple Music zu Deezer, Spotify oder einem anderen Anbieter wechseln.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Nur noch heute: MM-Club-Tage (u. a. SanDisk Ultra 3D 2 TB 142,15€) • Corsair Vengeance RGB PRO 16-GB-Kit DDR4-3200 71,39€ • Corsair RM750x 750 W 105,89€ • WD Elements Desktop 12 TB 211,65€ • Alternate (u. a. Creative SB Z SE 71,98€) • ASUS ROG Crosshair VIII Hero WiFi 269,99€ [Werbung]
    •  /