Jedes einzelne Mal, wo ich Kotlin statt Java eingesetzt habe, habe ich es genossen. Kein einziges Mal habe ich es bereut. Trotzdem stoße ich immer wieder auf Ängste und Hemmungen, Kotlin einzusetzen – sowohl bei Managern als auch bei Entwicklern.
In diesem Blogpost möchte ich Ihre Ängste als Manager in Bezug auf Kotlin besprechen. Gleichermaßen möchte ich darauf eingehen, welche Vorteile Kotlin Ihnen bringt. Es gibt außerdem einen ähnlichen Blogpost für Entwickler (in Englisch), der etwas mehr in technische Details einsteigt.
Ängste
Wo bekomme ich Kotlin Entwickler her? Was mache ich mit meinen Java Entwicklern?
Man kann zwar explizit Kotlin-Entwickler einstellen, aber der Markt ist vergleichsweise knapp. Es ist aber kein Problem, einfach mit dem bestehenden Team von Java/Groovy/Scala/*JVM Entwicklern weiter zu arbeiten. Man kann solche Entwickler auch weiter neu einstellen. Das alles ist unproblematisch, weil diese Entwickler bereits in der Lage sind, den meisten Kotlin-Code zu verstehen. Darüber hinaus ist Kotlin ziemlich einfach zu erlernen.
Ich würde sagen, dass ein Entwickler im Allgemeinen nach einem Tag Kotlin lernen und weiteren ein bis zwei Wochen reduzierter Effizienz (wo Kotlin schon produktiv eingesetzt wird) in der Lage ist, den wichtigsten Teil von Kotlin zu erlernen.
Nicht zuletzt ist man mit Kotlin natürlich als Arbeitgeber attraktiver.
Ich muss allen Code in Kotlin neu schreiben (lassen).
Java/Groovy/Scala/*JVM sowie deren Bibliotheken koexistieren und interagieren sehr gut mit Kotlin. Man kann den bestehenden Code einfach behalten und einzelne Teile des Codes in Kotlin schreiben, um Kotlin auszuprobieren oder einfach neuen Code in Kotlin schreiben und den bestehenden Code behalten.
Wir haben gute Erfahrung damit gemacht, zunächst die Tests in Kotlin zu schreiben. Wenn das Team dann von Kotlin überzeugt ist, dann haben wir Kotlin langsam in den Produktivcode übernommen.
Das ist doch alles nur ein Hype und wir werden mit unpflegbarem, veralteten Code zurückgelassen.
Kotlin gibt es bereits seit 2011 – damit ist es wirklich kein Hype mehr. JetBrains, die Entwickler von Kotlin, entwickeln ihre eigenen Produkte in Kotlin. Dadurch haben Sie sich selbst sehr abhängig von Kotlin gemacht. Es ist in ihrem eigenen Interesse, Kotlin langfristig zu hegen und pflegen.
Google hat Kotlin praktisch zur Standardsprache für Android Apps erhoben. JetBrains entwickelt zwar Kotlin, stellt es aber unter Apache 2.0 Lizenz zur Verfügung und es gibt neben JetBrains viele weitere Entwickler am Projekt. Dadurch können wir Kotlin weiter pflegen, selbst wenn JetBrains das Projekt verlässt.
Nicht zuletzt gibt es eine Unmenge von kleineren und größeren Firmen, die Kotlin nutzen und treiben – das umfasst u.a. Atlassian, Netflix, Uber, Trello und Corda (stellt Software für viele großen Banken wie Goldman Sachs oder Deutsche Bank her mit über 90% Kotlin-Code).
Ich finde das immernoch risikoreich.
Kotlin ist auf aktuell Platz 33 im TIOBE Index und auf Platz 24 im IEEE Spectrum Rating und damit quasi Mainstream. Zum Vergleich: Jedes Angular-Projekt setzt TypeScript ein und das steht im Moment auf Platz 46 im TIOBE Index.
Außerdem ist seit Mai 2018 im Technologie Radar von Thoughworks Kotlin auf “adopt” gestuft. Damit ist die Nutzung von Kotlin explizit empfohlen.
Man braucht wirklich keine Angst haben. Schauen wir einfach mal, was für Vorteile Kotlin bringt.
Vorteile
Kotlin ist abstrakter als Java. Das ist gut, weil Ihre Entwickler mehr Zeit mit dem eigentlichen Fachproblem verbringen und weniger Zeit mit technischen Nebenproblemen. Das macht entwickeln mit Kotlin effizienter.
Kotlin ist im allgemeinen lesbarer und verständlicher als Java. Dadurch ist das Verändern und Bearbeiten von Code einfacher und birgt gleichzeitig weniger Risiko Bugs zu erzeugen.
Kotlin eliminiert den Erzfeind eines jeden Java-Programms: Die gefürchtete Nullpointer Exception. In Kotlin wird das Null-Problem bereits zur Compilezeit behandelt. D.h. es gibt in einem laufenden System keine Nullpointer Exceptions. (Natürlich nur, wenn der Entwickler nicht grob fahrlässig oder bösartig trickst)
Nach dieser Quelle sind 70% aller in Produktion auftretenden Fehler Nullpointer Exceptions. Also: Kotlin eliminiert 70% aller Fehler in Produktion.
Aufgrund der besseren Lesbarkeit und Verständlichkeit von Kotlin ist es einfacher, neue Entwickler ins Projekt aufzunehmen.
Der selbe Kotlin-Code kann für weitere Plattformen neben Java verwendet werden. Das umfasst insbesondere JavaScript und nativen x86-Code.
Zusammengefasst
Keine Angst vor Kotlin! Die Vorteile sind wertvoll und zahlreich. Wir haben den Einsatz von Kotlin in unseren Projekten nie bereut, im Gegenteil hat es allen Projekten gut getan.
Ich empfehle Kotlin gegenüber Java.
Du musst angemeldet sein, um kommentieren zu können.