Kotlin (ohjelmointikieli)

Wikipediasta
Siirry navigaatioon Siirry hakuun
Kotlin
Kotlin-logo.svg
Tyypitys vahva, staattinen
Julkaistu 2011
Kehittäjä JetBrains
Käyttöjärjestelmä Alustariippumaton
Verkkosivu http://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[muokkaa | muokkaa wikitekstiä]

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[muokkaa | muokkaa wikitekstiä]

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ä:

 1 // Hei maailma -esimerkki
 2 fun main() {
 3   val scope = "maailma"
 4   println("Hei $scope!")
 5 }
 6 
 7 fun main(args: Array<String>) {
 8   for (arg in args) {
 9     println(arg)
10   }
11 }

Lähteet[muokkaa | muokkaa wikitekstiä]

  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

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]

Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.