A Kotlin erősen típusos programozási nyelv, Java virtuális gépre és JavaScript kódra is lefordítható. A fő fejlesztői a JetBrains szentpétervári csapata, a nyelv a Szentpétervár közelében található Kotlin-szigetről kapta a nevét. Bár a szintaxisa nem kompatibilis a Java programnyelvvel, a Kotlin együttműködik a Java-ban írt kóddal és épít a java programkönyvtár részeire, mint például a Collections keretrendszerre.
Története
A Kotlin programnyelvet 2011 júliusában hozták nyilvánosságra, amit akkor már egy éve fejlesztettek. A fordítót és a hozzá tartozó programokat 2012 februárjában adták ki nyílt forráskódú szoftverként Apache 2.0 licenc alatt.[2] A Jetbrains bevallott motivációja az új nyelv fejlesztésében az, hogy az növelje az IDEA fejlesztőeszköz eladásait.[3]
Filozófiája
Andrej Breslav vezető fejlesztő szerint a Kotlin egy a Java-nál jobb, de azzal még mindig teljesen kompatibilis nyelv, amely lehetővé teszi a fejlesztőknek, hogy a Kotlin felé mozduljanak.[4]
Szintaxis
A Pascal-hoz és a Scala-hoz hasonlóan a Kotlin változó deklarációiban is a változó nevét követi a típus, a kettőt kettőspont választja el. Az utasítások végén a pontosvessző opcionális, általában egy új sor elegendő.[5] Ellenben a Java-val, alapértelmezésben minden metódus publikus, a paramétereik pedig nem felülírhatóak a metódusból.
A Kotlin speciális szintaxissal rendelkezik a null értékek kezelésére. Azok a változók, amelyek felvehetnek null értéket, ? típus deklarációval kell ellátni. Például:
var text : String? = null
text = null // ennek a változónak adhatunk null értéket
var anotherText : String = null // fordítási hiba - nem adhatunk null értéket ennek a változónak
Szemantika
Az objektumorientált programozásban használatos osztályok és a metódusok mellett (ezeket a Kotlin nyelvben tagfüggvényeknek hívják) a Kotlin támogatja a procedurális programozást is, függvények használatával.[6] A C és C++ nyelvekhez hasonlóan a Kotlin program belépési pontja is a „main” nevű funkció, amelynek paramétere a parancssorban megadott értékeket tartalmazó tömb lehet. A Perl és Unix/Linux shell script stílusú string-behelyettesítés is támogatott. A nyelv rendelkezik a típuskikövetkeztetéshez (type inference) szükséges elemekkel is.
Hello, világ! példaprogram:
fun main(args : Array<String>)
{
val scope = "world"
println("Hello, ${scope}!")
}
Támogató eszközök
Lásd még
A nyelv a Java-szerű programnyelvek családjába tartozik, amelyek jellemző képviselői még az alábbiak:
Jegyzetek
Fordítás
Ez a szócikk részben vagy egészben a Kotlin(programming language) című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.