Share to: share facebook share twitter share wa share telegram print page

Kotlin (ohjelmointikieli)

Kotlin
Tyypitys vahva, staattinen
Julkaistu 2011
Kehittäjä JetBrains
Käyttöjärjestelmä alustariippumaton
Verkkosivu kotlinlang.org

Kotlin on yleiskäyttöinen avoimen lähdekoodin staattisesti tyypitetty ohjelmointikieli.[1] Kieli kääntyy JVM-tavukoodiksi. Kotlinilla kirjoitettuja ohjelmia voi siis ajaa kaikissa Java-spesifikaation mukaisia virtuaalikoneita tukevissa ympäristöissä. Kotlin julkaistiin kesäkuussa 2011, kun siitä tiedotti JetBrains-ohjelmistoyhtiö, työstettyään kielen toteutuksia vuoden ajan.[2] Vuonna 2012 JetBrains julkaisi kielen avoimen lähdekoodin lisenssillä.[1]

Vuonna 2017 Google ilmoitti tukevansa Kotlin-kieltä Android-kehitysympäristössään ja toukokuussa 2019 Google ilmoitti, että Kotlin on Android-sovelluskehityksen suositeltu kieli.[3]

Ominaisuudet

Kieli on vahvasti tyypitetty: val ja var avainsanoja voidaan käyttää vain kun tyyppi voidaan päätellä, muutoin tyyppi on määriteltävä.[1] Kielessä funktiot voidaan määritellä myös luokan ulkopuolisiksi toisin kuin Javassa.[1]

Kieli tukee muun muassa anonyymejä lambda-funktioita, korkean tason funktioita (voivat saada funktion parametrina) ja inline-funktioita.[1][4]

Kotlin tulee funktionaalisen ohjelmoinnin lisäksi Javan tapaista olio-ohjelmointia: kieli tukee luokkia konstruktoreilla ja rajapintaluokkia (engl. interface).[1] Kotlinissa ei ole new-avainsanaa vaan instanssit luodaan kutsumalla konstruktoria.[1] Esimerkiksi Javan tapa:[1]

StringBuilder sb = new StringBuilder();

.. on Kotlinissa:

val sb = StringBuilder()

Kotlin yksinkertaistaa ja poistaa null-tuen standardityypeistä.[1]

Kotlin tukee C#:in tapaan laajennusmetodeja, jolloin luokkaa voidaan laajentaa uudella toiminnallisuudella perimättä siitä.[1] Kotlin tukee Javan tapaan geneerisen ohjelmoinnin ominaisuuksia (luokat, rajapinnat), jossa on kuitenkin myös eroja.[5]

Kotlinissa ei ole tukea Javan checked exceptions -poikkeuksille, joista oli hyötyä lähinnä leluohjelmissa.[1]

Koodiesimerkki

Yksinkertainen esimerkki Hei maailma -ohjelmalla:[6]

package org.kotlinlang.play         // 1

fun main() {                        // 2
    println("Hello, World!")        // 3
}

.. jossa rivillä 1 on valinnainen pakettimäärittely.[6] Versiosta 1.3 lähtien main-funktion voi määritellä ilman parametreja (rivi 2).[6] Rivillä 3 kirjoitetaan standarditulosteeseen.[6] Puolipisteet lauseen lopussa ovat valinnaisia.[6]

Muita esimerkkejä:

// Hei maailma -esimerkki
fun main() {
  val scope = "maailma"
  println("Hei $scope!")
}

fun main(args: Array<String>) {
  for (arg in args) {
    println(arg)
  }
}

Suosio

Nykyään yli 60 % ammattilaisista Android-kehittäjistä käyttää Kotlinia. Syitä Kotlinin suosioon on muun muassa parempi tuottavuus, sovelluksen laatu ja tyytyväisemmät työntekijät. Yli 95 % 1000 suosituimmasta Android-sovelluksista sisältävät Kotlin-koodia.[7] Kotlin säästää aikaa koodia kirjoittaessa vähentäen turhaa boilerplate-koodin määrää. Kotlinissa on myös hyödyliisiä vuorottaisrutiineja samanaikaisten tietokantakutsujen tekemiseen, toisin kuin Javassa.[8] Kotlinissa on myös lukuisia muita ominaisuuksia, jotka kasvattavat sen suosiota Javaan verrattuna, kuten null-osoittimien turvallisuus, laaja yhteisö ja sovellusalustojen yhteensopivuus.

Kotlin on myös suosittu palvelinpuoleisessa kehityksessä. Spring-ohjelmistokehys lisäsi tuen Kotlin-ohjelmointikielelle tammikuussa 2017. Se on myös lisännyt paljon dokumentaatiota Kotlinin käyttöön ja tuen Kotlin-kohtaisille ominaisuuksille, kuten vuorottaisrutiineille.[9] JetBrains on myös itse tuottanut Ktor-ohjelmistokehyksen verkkosovelluksien rakentamiseen.[10] Kotlinia voi käyttää myös front-end - kehityksessä hyödyntäen Kotlin/JS-sovelluskehystä. Full-stack - kehittäjä voi pärjätä siis pelkästään Kotlinilla.[8]

Vuonna 2020 JetBrains piti kyselyn Kotlin-kehittäjille, josta kävi ilmi 56 prosentin kehittäjistä käyttävän Kotlinia mobiilisovelluksiin, ja 47 prosentin käyttävän sitä back-end:iin. Noin kolmannes sanoi olevansa siirtymässä Kotlinin pariin toisesta kielestä. Suurin osa kehittäjistä kehitti nimenomaan Androidille tai muuten Java Virtual Machine:lle, jättäen vain 7 % natiiviin käyttöön.[11]

Lähteet

  1. a b c d e f g h i j k Martin Heller: What is Kotlin? The Java alternative explained infoworld.com. 26.10.2017. Viitattu 19.2.2020. (englanniksi)
  2. Krill, Paul: JetBrains readies JVM language Kotlin 22.7.2011. InfoWorld. Viitattu 2.2.2014.
  3. Lardinois, Frederic: Kotlin is now Google’s preferred language for Android app development 7.5.2019. TechCrunch. Viitattu 27.9.2019. (englanniksi)
  4. Higher-Order Functions and Lambdas kotlinlang.org. Viitattu 19.2.2020. (englanniksi) 
  5. Generics kotlinlang.org. Viitattu 25.2.2020. (englanniksi) 
  6. a b c d e https://play.kotlinlang.org/byExample/01_introduction/01_Hello%20world (Arkistoitu – Internet Archive)
  7. Build Better Apps with Kotlin Android Developers. Viitattu 31.3.2023. (englanniksi)
  8. a b Codecademy Team: What Is Kotlin Used For? Codecademy Blog. 5.10.2021. Viitattu 31.3.2023. (englanniksi)
  9. The State of Kotlin Support in Spring | The Kotlin Blog The JetBrains Blog. Viitattu 31.3.2023. (englanniksi)
  10. Ktor: Build Asynchronous Servers and Clients in Kotlin Ktor Framework. Viitattu 31.3.2023. (englanniksi)
  11. Kotlin Programming - The State of Developer Ecosystem in 2020 Infographic JetBrains: Developer Tools for Professionals and Teams. Viitattu 31.3.2023. (englanniksi)

Aiheesta muualla

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya