Falls der geneigte Leser nicht weiss, was Kotlin ist: Kotlin ist eine neue Programmiersprache, welche quasi als Weiterentwicklung von Java entwickelt wurde.
Es ist bereits wieder einige Zeit vergangen, als Google auf der I/O Konferenz in 2017 Kotlin für Android offziell angekündigt hat. Und obwohl Kotlin bisher noch nicht so verbreitet ist, verwenden immer mehr Firmen die Programmiersprache für ihre Projekte – besonders für die Entwicklung von Android Apps. Ein weiteres Beispiel ist etwa Corda, die permissioned distributed ledger Blockchain.
Kotlin ist eine statically typed programming language, was soviel bedeuetet wie dass die Typen der Variablen zur Kompilierzeit geprüft werden statt zur Laufzeit des Programmes. So kann einem die IDE bereits bei der Programmierung auf Fehler hinweisen – Wie man es auch von Java kennt.
Kotlin wurde von JetBrains entwickelt, den gleichen Jungs, die auch die beliebte IntelliJ IDE produziert haben.
Kotlin hat gegenüber aber noch weitere Vorteile, die ich kurz auflisten werde.
Kompatibel zu Java
Das coole an Kotlin ist aber, dass Kotlin vollständig kompatibel mit Java ist. Kotlin läuft ebenfalls auf der JVM (Java Virtual Machine) wie Java und man kann ein Java Programm einfach in ein Kotlin Programm umwandeln (und zurück – für das Meiste, was ich hier schreibe, gelten beide Wege).
Man kann also auch seine alten Java Projekte nehmen und einfach mit Kotlin weitermachen. Man kann in einer Kotlin Datei zum Beispiel Java Klassen normal verwenden und instanzieren. Und das coole ist: alle bisher entwickelten Frameworks wie etwa Spring können ebenfalls mit Kotlin verwendet werden.
Fast identische Syntax
Wer lange Zeit als Java Entwickler gearbeitet hat und dann zum ersten Mal ein Kotlin Programm sieht wird erst mal stutzen. Es sieht doch alles ein wenig anders aus. Und macht das überhaupt Sinn? Hmm, also ich war da sehr skeptisch.
Grundsätzlich wurden aber viele Befehle vereinfacht. Man hat quasi überlegt, was man an Java verbessern könnte, und das dann in Kotlin umgesetzt.
Wenn man sich erst einmal daran gewöhnt hat, ist der Kotlin Code kleiner und einfacher als Java Code – und das finde ich immer eine gute Sache. Weniger Code bedeutet auch weniger Bugs 🙂
Dennoch arbeitet man am besten zuerst einmal mit Kotlin, um sich an die Syntax zu gewöhnen.
Viele kleine Verbesserungen
Es sind ganz viele Kleinigkeiten, die in Kotlin anders gemacht werden als in Java. Die meisten Änderungen, die ich bisher gesehen habe, machen aber durchaus Sinn.
Beispiele:
- Variablen können nun direkt in Strings verwendet werden und müssen nicht mit + konkateniert werden.
- Intelligentere Casts: Den Typ eines Objekts kann man statt mit instanceof neu mit schlange is Tier prüfen. Wurde etwa erfolgreich festgestellt, dass ein Tier eine Schlange ist, etwa in einem IF Statement, weiss der Kompiler von diesem Punkt an, dass es sich im ganzen IF Statement um eine Schlange handeln muss.
- Bei Methoden kann man den Parametern nun Standardwerte angeben.
- Getters und Setters in Pojos sind optional.
- switch case wurde durch when ersetzt – wobei die Grösse des when Codes viel kleiner ist als beim switch case.
- Data Classes sind eine Neuerung, welche die POJO’s (Plain Old Java Objects) verbessern. Eine Data Class ist wie eine normale Java Klasse, der Kompiler bietet aber Standardimplementationen von Methoden wie equals(), hashcode() oder toString() an. So kann ein Java Datenobjekt in einer einzigen Zeile deklariert werden (Objektname plus die dazugehörigen Attribute).
- Eine Instanz kann nun automatisch in Attribute aufgeteilt werden, so dass man mit den einzelnen Attributen weiterarbeiten kann. Ein Schlange Objekt kann so etwa in zwei Attribute Länge und Farbe aufgeteilt werden.
- Natürlich unterstützt Kotlin auch bewährte Java Funktionalitäten wie etwa Lambdas.
Ich denke nicht, dass es sinnvoll ist, an diesem Punkt gross Codebeispiele zu zeigen, die gibt es schon auf diversen Internetseiten, etwa der offiziellen Kotlin Referenz.
Kotlin lernen
Wer Kotlin lernen möchte, dem sind die Tutorials von Telusko auf Youtube sehr ans Herz gelegt:
Wer das Video mag klickt lieber auf diesen Link mit der gesamten Playlist, es sind nämlich insgesamt 46 Videos.
Telusko versteht es, auf witzige und einfache Weise alle Spezialitäten der Sprache in kurzen Videos darzulegen. Ein echt sympatischer Typ. Und dadurch, dass jedes Thema ein eigenes Video hat, kann man einfach zu den Themen springen, die einen am meisten interessieren.
Ist Kotlin denn nun das bessere Java?
Kotlin wird in der Programmiercommunity sehr positiv aufgenommen. Ob das langfristig der Fall sein wird, müssen wir abwarten. Kotlin ist modern und fühlt sich wie eine echte Verbesserung von Java an.
Hat man sich erst einmal daran gewöhnt, fühlt sich der Code auch einfacher an als in Java, was oftmals eine Kritik an Java war.
Wer die Möglichkeit hat, sollte Kotlin unbedingt mal ausprobieren. Der Einstieg ist durch die Verträglichkeit mit Java denkbar einfach.
Eines ist klar: Falls sich langfristig herausstellen sollte, dass Kotlin das neue, bessere Java ist, ist es unglaublich einfach, seine Java Projekte in Kotlin weiterzuentwickeln. Man verwendet die gleichen JAR’s oder Java Klassen und macht einfach mit Kotlin Dateien weiter. Es ist nicht nötig, jahrelange Migrationsprojekte wie etwa von Cobol auf Java durchzuführen.