Suche
Interview mit Hadi Hariri

Kotlin – lesbar, bündig, sicher [Pirates of the JVM]

Redaktion JAXenter

In der kalten See der statischen Sprachen besuchen wir heute auf unserer Reise durch die Welt der Pirates of the JVM Kotlin. Wir haben mit Hadi Hariri, VP of Developer Advocacy bei JetBrains, über die Entstehungsgeschichte von Kotlin gesprochen, die Key Features und die Zukunft der Sprache.

Noch nicht lange ist es her, seit Kotlin auf der Schatzkarte der JVM-Sprachen erschienen ist. Die Fahnen zum ersten Major Release wurden 2016 feierlich gehisst – seitdem zieht es immer mehr Siedler auf die Insel. Doch lassen Sie sich von der ruhigen Statischen See nicht täuschen! Denn Kotlin zeigt das Potenzial, die JVM-Welt ordentlich aufzumischen. 

Kotlin in der Infografik: Pirates of the JVM

Klick auf die Karte für die komplette Infografik.

JAXenter: JetBrains ist vor allem durch IntelliJ IDEA bekannt – eine Entwicklungsumgebung. Mit Kotlin wird das Portfolio um eine Programmiersprache ergänzt. Wie passt das zusammen?

Hadi Hariri

Hadi Hariri

Hadi Hariri: Das trifft nur teilweise zu. Ich glaube, dass IntelliJ IDEA innerhalb der Java-Community unser bekanntestes Produkt ist, wir hatten aber auch großen Erfolg mit ReSharper in .Net und ebenso mit anderen Produkten in anderen wichtigen Bereichen. Kotlin ist zwar eine Sprache, aber auch ein Tool. Und was wir erschaffen haben, ist ein Tool, das sich auf Effizienz fokussiert und darauf, mit den Wirrungen der Softwareentwicklung fertig zu werden, genau wie unsere anderen Tools.

JAXenter: Aus welcher Motivation heraus habt ihr Kotlin erfunden?

Hadi Hariri: Unser wichtigster Beweggrund für Kotlin war die Verwendung für unsere eigenen Produkte. Wir wollten unsere Code-Basis beschneiden, einige neue Konstruktionen einführen, und nach der Prüfung unserer Optionen haben wir erkannt, dass es eine praktikable Möglichkeit war, einfach eine eigene Sprache zu erschaffen.

JAXenter: Was bietet Kotlin, was andere Sprachen nicht können?

Hadi Hariri: Ich denke nicht, dass Kotlin irgendein spezifisches, einzigartiges Feature bieten kann, mit Ausnahme von ein paar Kleinigkeiten vielleicht. Tatsächlich wurde Kotlin von vielen anderen Sprachen inspiriert und bei der Entwicklung haben wir auf beides geguckt, sowohl auf das Gute, aber auch auf die Schwachstellen der anderen Sprachen. Wir haben schlussendlich versucht, einige der Schmerzpunkte zu lösen. Das zusammengefügte Gesamtbild bildet eine interessante Option.

Lesen Sie auch: Unser Kotlin-Tutotrial

JAXenter: Kannst du die Kernprinzipien der Sprache beschreiben?

Hadi Hariri: Einige der Haupteigenschaften sind Lesbarkeit, Bündigkeit, Sicherheit sowie die Möglichkeit zum Tooling der Sprache. Genauso wichtig ist natürlich die Interoperabilität mit Java. Um ein Beispiel zu geben, eine typische Java Bean mit einer Serie von Properties mit Getters, Setters, Equals oder toString kann in Kotlin einfach wie folgt sein:

data class Customer(var name: String, var email: String)

Diese Zeile alleine gibt einem genau dieselbe Funktionalität, als wenn man ca. 30 Zeilen Java-Code hat. Oder sagen wir mal Casten. Oftmals möchte ich etwas zu einem anderen Typus casten, um eine Methode darauf anzurufen, sobald ich verifiziert habe, dass es sich um den gleichen Typus handelt:

if (person is Employee) {
    person.vacationDays = 30
}

In Java muss man explizit eine person zu Employee casten, nachdem der Kompilierer es geprüft hat. In Kotlin ist das nicht länger notwendig.

JAXenter: Einer der Vorteile von Kotlin ist die Interoperabilität mit Java. Wie kann man einen Java-Entwickler davon überzeugen, Kotlin auszuprobieren? 

Hadi Hariri: Persönlich würde ich auf die selben Argumente zurückgreifen, wie wenn Leute mich fragen, ob sie IntelliJ IDEA benutzen sollten, anstatt ihrer momentanen IDE. Es gibt kein einzigartiges Feature, was sie überzeugen wird. Es geht um die Erfahrung und die Idee, die wir verfolgen, wenn wir das Produkt designen. Wir glauben nicht daran, dass wir Features verkaufen sollten, sondern Wege, um die Probleme von Leuten zu lösen. Mit Kotlin ist das der Fall. Offensichtlich ist es etwas anderes, in eine Sprache zu investieren, wie eine andere IDE zu nutzen, obgleich beides Tools sind. Aber hier glaube ich, dass die Interoperabilität mit Java, die Lesbarkeit und unsere bewusste Entscheidungen, es ähnlich einer bereits existierenden Sprache zu machen, das potentielle Risiko senken.

JAXenter: Natürlich kann Kotlin auch eigenständig genutzt werden. Welche Anwendungsfälle schweben euch dafür vor?

Hadi Hariri: Kotlin kann für einen beliebigen Typ App verwendet werden, weil es unser Ziel war, eine Industrie-Sprache zu entwickeln, die zur Entwicklung für Desktops, Server, das Web oder Mobile-Apps genutzt werden kann.

JAXenter: Kotlin wirbt mit seiner kohärente Syntax und schnellen Kompilierung. Wie wollt ihr sicherstellen, dass das auch so bleibt, wenn Kotlin wächst?

Hadi Hariri: Ich denke, diese Frage sollte am besten dem Team Leader dahinter gestellt werden, Andrey Breslav. Aber ich glaube es geht darum, vorsichtig darüber nachzudenken, was man zur Sprache hinzufügt und hinreichende Anwendungsfälle zu haben, die es rechtfertigen. Man muss immer Abstriche machen.

JAXenter: Was ist dein Lieblingstrick in Kotlin?

Hadi Hariri: Ich habe zwar nicht wirklich einen Trick, aber was ich an Kotlin mag und auch recht häufig nutze, ist die prägnante Syntax, um mit Funktionen hoher Ordnung zu arbeiten (Funktionen, die Funktionen als Parameter oder Return-Funktionen nutzen). Das habe ich in letzter Zeit häufiger mal genutzt und ersetze einigen, eher Objekt-orientierten Code durch einfache Funktionen.

JAXenter: Wie sieht die Zukunft von Kotlin aus?

Hadi Hariri: In Kotlin 1.1 ist erstmals Support für Koroutinen hinzugefügt, was Entwicklern signifikant dabei weiterhelfen kann, asynchron zu programmieren. Wir arbeiten zudem am Support für Native Binaries in Kotlin und das ist definitiv sehr aufregend!

Hadi Hariri ist VP of Developer Advocacy bei JetBrains.

 

Die Pirates of the JVM

Gehen wir auf Schatzsuche! In der Infografik „Pirates of the JVM“ verbirgt sich so manches Programmiersprachen-Juwel, das inspirierte Entwickler auf der Java-Plattform für sich entdecken werden. Doch sehen Sie selbst…

Haben Sie Lust auf Schatzsuche zu gehen? In unserem Gewinnspiel „Pirates of the JVM“ ist Ihr Rätseltalent gefragt. Belohnt werden Sie mit 3 tollen Preisen…

PIRATES OF THE JVM – DAS GEWINNSPIEL

Piratenflagge via Shutterstock.com / katyam1983

Verwandte Themen:

Geschrieben von
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.