GitHub benoemde de programmeertaal Kotlin als een van de talen met de snelst groeiende populariteit. De ondersteuning als officiële Android-taal sinds 2017 heeft daar zeker toe bijgedragen. Welke elementen van de programmeertaal verder de populariteit ten goede komen, bespreken we met Mikhail Zarechenskii, de Lead Language Designer van de Kotlin Foundation.
De programmeertaal Kotlin was oorspronkelijk bedacht ter ondersteuning voor het JVM (Java Virtual Machine)-ecosysteem. Ondertussen is het ontpopt tot een veelzijdige, multiplatform programmeertaal. Het wordt niet alleen gebruikt voor Android-applicaties, maar ook voor backend-ontwikkeling, webapplicaties en iOS-toepassingen.
Kotlin kreeg de titel van officiële Android-taal in 2017. Welke ontwikkelingen hieraan vooraf gingen, beschreven we al uitgebreid. Het resultaat ervan is hier relevant: populariteit.
Actieve open-source-aanpak
Door de officiële erkenning vanuit Android is de programmeertaal voornamelijk meer inzetbaar geworden. Dit leidde tot een grotere adoptie, maar het enthousiasme voor de taal was ook voor 2017 al aanwezig. “Eén van de kernredenen voor het succes van Kotlin is de sterke open-source-aanpak. Ontwikkelaars kunnen issues indienen via YouTrack, meedenken over nieuwe taalfeatures en bijdragen via GitHub”, vertelt Mikhail Zarechenskii.
Kotlin is onderdeel van de software-ontwikkelaar JetBrains. Zij staan onder andere in voor het doorvoeren van updates. Verder bieden zij tooling en stimuleren zij innovatie. De betrokkenheid van de community speelt een cruciale rol in de ontwikkeling van de taal, waarbij JetBrains regelmatig input van gebruikers verwerkt in nieuwe versies. Een goed voorbeeld hiervan is de toevoeging van nullability-controle in een vroeg stadium van Kotlin, een feature die oorspronkelijk door een externe ontwikkelaar werd voorgesteld en later een integraal onderdeel van de taal werd.
Samenwerking is eigenlijk het levensbloed van de programmeertaal. Zarechenskii vindt het daarom ook belangrijk dat Kotlin uitgebreide ondersteuning aanbiedt. Eén van de ondersteunde software-tools is Gradle en daar spreekt hij vol lof over. “De Gradle-kenners hebben al een compiler plug-in ontwikkeld die minimaliseert hoeveel code programmeurs moeten schrijven.”
Niet bang voor verandering
Ondanks de lof waren er ook kritische geluiden, vooral met betrekking tot de snelheid van de compiler. Zarechenskii weet dat deze kritiek kon worden vermeden door drie jaar langer te sleutelen aan de programmeertaal voordat deze werd uitgebracht. De makers kozen bewust niet voor die optie en Zarechenskii ziet ook achteraf dat het de beste beslissing was.
“Heel wat bedrijven gebruikten Kotlin al voor de officiële release en gaven aan dat het hun heel wat waarde opleverde. Door het uitbreidbare en kneedbare karakter van de programmeertaal konden we gaandeweg blijven sleutelen aan de programmeertaal, terwijl het al beschikbaar was. Zo is het ook gelopen, na versie 1.0 zijn er nog een tiental nieuwe functies bijgekomen.”
Kotlin 2.0 is voornamelijk op de snelheid vooruitgegaan. De compiler-front-end werd vanaf nul opnieuw opgebouwd met als doel een meer efficiënte architectuur te bekomen. De wijzigingen maken het niet alleen mogelijk om nieuwe programmeer-features sneller te implementeren, maar zorgt ook voor een verbeterde consistentie binnen de taal. Dit wordt mogelijk gemaakt door een nieuwe compilerstructuur die code in een vroeg stadium ‘afvlakt’. Hierdoor worden complexe constructies eenvoudiger en kan de compiler efficiënter werken.
Tip! Kotlin 2.0 pronkt met snellere compilatietijd: wat te verwachten?
Mobiele landschap veroveren
Een ander belangrijk aspect van Kotlin 2.0 is de verbeterde ondersteuning voor multiplatform-ontwikkeling. Met Kotlin Wasm en KotlinJS wordt het eenvoudiger om toepassingen te bouwen die zowel in webomgevingen als op mobiele platforms draaien. Bovendien groeit de vraag naar Swift-interoperabiliteit, wat wijst op een toenemende interesse in Kotlin voor iOS-ontwikkeling.
“Buiten het mobiele landschap zien we Kotlin steeds vaker opduiken in backend-ontwikkeling. Meer dan 40 procent van de gebruikers schrijf server-side-apps, die zijn dus JVM-gebaseerd”, vertelt Zarechenskii. Ook frameworks zoals Jetpack Compose tonen aan dat Kotlin een sterke basis heeft voor UI-ontwikkeling, iets wat in de beginjaren van de taal niet als een primaire toepassing werd gezien.
Deuren open voor plug-ins
Toch bracht deze verandering ook complicaties met zich mee, dit bij de noodzaak om bestaande compiler-plug-ins te migreren. De tweede versie gaat op een andere manier om met plug-ins. Voorheen moesten ontwikkelaars zowel een compiler-plug-in als een aparte IDE-plug-in schrijven om volledige ondersteuning te krijgen. De nieuwe K2-compilerarchitectuur maakt dit overbodig: de IDE herkent en ondersteunt compiler-plug-ins automatisch.
Ontwikkelaars merkten alleen op dat er verschillende plug-ins uit de eerste versie misten. “Om de compiler-front-end opnieuw te bouwen zijn er sommige plug-ins gesneuveld. De meeste zijn gemigreerd, maar sommige zitten nog in die overgangsfase”, reageert Zarechenskii op de problemen.
Community bedankt
Kotlin heeft een actieve gebruikerscommunity en heeft dit onderdeel weten te maken van zijn identiteit. Door de noden, maar ook de kritiek van zijn gebruikers te omarmen, is de taal steeds breder inzetbaar. Dit wordt positief onthaald, daar is de erkenning van de groeiende populariteit een belangrijke maatstaf van.