4min

Toen Google in 2017 aankondigde dat Kotlin voortaan als officiële Android-taal ondersteund werd, werd er in de zaal gejuicht. Dat enthousiasme is omgezet in adoptie, want inmiddels gebruiken 80 procent van alle apps op Android Kotlin. Wat zit er achter de bijzonder snelle opkomst van deze programmeertaal?

De ontwikkeling van Kotlin is onlosmakelijk verbonden met Java. JetBrains begon met de ontwikkeling van Kotlin in 2010 om niet meer van Java afhankelijk te zijn. Een nieuwe, expressievere taal zou de ontwikkeling van de eigen IntelliJ-gebaseerde IDE’s kunnen versnellen. Naast een hogere productiviteit zou het populariseren van Kotlin leiden tot een grotere adoptie van IntelliJ IDEA, JetBrains’ development-omgeving dat eerder enkel op Java was gericht.

Deze expressieve aard houdt een aantal dingen in. Allereerst is Kotlin een stuk compacter en beter te lezen dan Java. Daarnaast biedt het ‘null safety’, zodat het in tegenstelling tot Java niet mogelijk is om een ‘null pointer exception’ te krijgen in runtime. Het eindresultaat is minder bugs en een overzichtelijkere codebase.

Volledig interoperabel met Java

De eerste reden dat Kotlin succesvol kon worden, vloeit voort uit het feit dat het volledig interoperabel met Java is. Dmitry Jeremov, een van de grondleggers van Kotlin, merkte al in 2011 op dat de stap van Java naar Kotlin geleidelijk plaats zou vinden.

Die stap hebben programmeurs ook gemaakt. Een JetBrains-enquête in 2023 liet zien dat 79 procent van de ondervraagde Kotlin-gebruikers daarvoor Java hadden gebruikt. Voor slechts 3 procent van de gebruikers geldt dat het hun eerste programmeertaal is.

Het succes werd gebouwd op de interoparibiliteit met Java, heldere documentatie en, zo meent Google, ‘uitstekende IDE-support‘. Dat bedrijf kondigde tijdens Google I/O volledig achter Kotlin te staan, met volledige ondersteuning in Android Studio en ‘holistische ondersteuning‘ voor de taal. Vóór die aankondiging gebruikte 20 procent van alle app-ontwikkelaars al Kotlin.

Waarom brak Kotlin wel door?

Alternatieven voor Java bestonden er al. Ook Scala, officieel uitgebracht in 2004, is interoperabel met Java en was ontworpen om een groot deel van de tekortkomingen van die taal te verhelpen. Echter wordt Scala gezien als moeilijk om te leren, is code volgens critici lastig te lezen zijn en bovenal: de werkwijze is anders. Een overvloed aan onbekende concepten zou programmeurs al gauw wegjagen. Hoewel Scala interoperabel is met Java, werd de taal niet in beginsel ontwikkeld om het te ondersteunen. Ook dienen gebruikers helemaal af te stappen van het Java-ecosysteem om Scala volledig te benutten.

Kotlin profiteert juist van de overeenkomsten met Java. Programmeurs zijn bekend met de concepten vanuit de eerdere taal en zijn vooral tevreden over de verbeteringen die er zijn doorgevoerd. Met andere woorden, het is eerder een evolutie van Java dan een revolutie. Ook is de snelle leesbaarheid van groot belang voor mainstream-adoptie. Dus zelfs als een taal als Scala in theorie meer flexibiliteit toevoegt en uitermate nuttig kan zijn, is het verdoemd tot een niche door de hoge initiële leercurve.

Inmiddels de primaire taal

In 2019 omschreef Google Kotlin als de geprefereerde taal voor appdevelopment op Android. “Android-development zal steeds meer Kotlin-first zijn,” stelde het bedrijf destijds. In twee jaar tijd had de programmeertaal wat Google betreft de nieuwe standaard gezet. Tegelijkertijd zorgde Google’s steun voor een enorme toename in Kotlin-gebruik. “Als je kijkt naar de grafiek van nieuwe Kotlin-gebruikers, zie je direct de twee grootste pieken: één in mei 2017 en één in mei 2019,” aldus Kotlin Product Lead bij JetBrains Egor Tolstoy.

“We hebben een interne grap hierover: ‘Het marketen van een programmeertaal is eenvoudig. Alles dat je nodig hebt, is dat het grootste besturingssysteem ter wereld het een officiële taal maakt in de jaarlijkse keynote.”

Kortom: de sleutelrol van Google valt niet te ontkennen, ongeacht de voordelen die Kotlin biedt voor gebruikers. Eigenlijk past de naam van Scala, een verwijzing naar de ‘schaalbaarheid’ van de taal afhankelijk van het aantal gebruikers, beter bij Kotlin. De oorspronkelijke, geleidelijke introductie gaf de ruimte aan JetBrains om een goed fundament voor de taal te creëren, dat dankzij het aanjagen van Google gebruikt werd om de hoogte in te schieten.

Dat Android de thuishaven van Kotlin is geworden, blijkt ook uit de gebruikscijfers. 66 procent van alle Kotlin-gebruikers ontwikkelt er Android-apps mee. 83 procent van de ondervraagden gebruikte de taal pas sinds Google I/O 2017, toen de taal officiële ondersteuning kreeg vanuit Google. Opvallend is dat de adoptie van Kotlin overwegend vanuit developers zelf komt (62 procent), dus de groei van de taal lijkt relatief organisch.

Wel kritiek, maar overwegend positief

Hoewel Kotlin in zekere zin de rol van Java heeft overgenomen, heeft het niet op alle fronten de oude taal gepasseerd. Zo wordt de IDE-ervaring van Java nog altijd als superieur ervaen en is de documentatie daarvan nog altijd uitgebreider. Net als bij het eveneens populaire Rust klagen Kotlin-gebruikers over een lange compilatietijd.

Toch is in meerdere commentaren te lezen dat men allesbehalve terug naar Java wil. Zoals een ervaren Java-developer het verwoordt: “Hoeveel ik ook in het verleden heb genoten van het werken met Java, na het ervaren van een dermate pragmatische en productieve taal, kan ik het mezelf niet toestaan om zo stevig ingeperkt te worden nu ik heb gezien wat mogelijk is.”

Lees ook: Waarom programmeertaal Rust steeds populairder wordt