**Kotlin-ը** օբյեկտի վրա հիմնված ծրագրավորման լեզու է, որը թարգմանվում է Java-ի վիրտուալ մեքենայի (JVM) բայթոդով, բայց կարող է նաև վերածվել JavaScript-ի կոդի։ Լեզուն հիմնականում մշակվել է Սանկտ Պետերբուրգի JetBrains ընկերության ծրագրավորողների կողմից։

Զարգացում
---------

Մեկ տարի անց JetBrains-ը «Kotlin» նախագիծը ներկայացրեց հասարակությանը` որպես JVM- ի նոր լեզու։ 2012 թվականի փետրվարին JetBrains-ը թողարկել է Apache 2 լիցենզիայի տակ գտնվող կոդ։ 2016 թվականի փետրվարի 15-ին թողարկվել է Kotlin-ի 1.0 տարբերակը։ Այս թողարկումը համարվում է առաջին պաշտոնական թողարկումը։

Առաջատար մշակող Դիմիտրի Յեմերովը նշել է, որ լեզուների մեծամասնությունը չի ցուցադրում այն առանձնահատկությունները, որոնք նրանք փնտրում էին` բացառությամբ Scala-ի։ Սակայն դա դանդաղ կոմպիլյատոր կլիներ, հետևաբար, Կոտլինի համար նախատեսված նպատակներից մեկն այն էր, որ Java-ն բարձր կոմպիլյացիոն արագությամբ հայտնի լիներ։

Գործիքներ
---------

IDE IntelliJ IDEA-ի համար, որը մշակվել է JetBrains-ի կողմից, հասանելի է Kotlin հավելվածը, որը կարող է տեղադրվել IntelliJ IDEA 15-ում։ Պաշտոնական Android ի մշակման միջավայրը` Android Studio-ն աջակցում է 3.0 տարբերակի և ավելի բարձր Kotlin-ի` որպես մայրենի լեզու` Android-ի ծրագրերի մշակման համար։

Շարահյուսություն
----------------

Լեզուն ոչ թե փորձում է համատեղել Java-ի հետ, այլ նախատեսված է համագործակցել Java-ի կոդի հետ։ Այն նաև օգտագործում է գոյություն ունեցող կոդը` Java Class Library-ում (JCL), օրինակ` Java Collections Framework (JCF)-ը։

Kotlin-ում փոփոխական անունից հետո կարող է նշվել մի կետով առանձնացված տվյալների տեսակը, սակայն Kotlin-ը նաև աջակցում է Typinferenz-ին։ Ի հավելումն օբյեկտի վրա հիմնված ծրագրավորման դասընթացների և մեթոդների (Կոտլինում, անդամի գործառույթներում), Kotlin-ը աջակցում է գործառնական ծրագրավորման գործառույթներին։

„Hello, world!!"-օրինակ

```
fun main(args: Array<String>) { // Einsprungpunkt (Main-Funktion)
 println("Hallo Welt!") // Gib den String 'Hallo Welt!' aus
}

```

Ֆունկցիայի օրինակ

```
fun main(args: Array<String>) { // Einsprungpunkt (Main-Funktion)
 fun funktionsBeispiel() { // Erstellen der Funktion 'funktionsBeispiel'

 val a = 120 // Weist der Variable 'a' den Integer-Wert 120 zu

 if (a == 100) { // if..else-Anweisung, prüft ob 'a' gleich 100 entspricht
 println("a entspricht 100") // Falls 'a' 100 entspricht, gib 'a entspricht 100' aus.
 } else if (a == 130) { // Ansonsten prüfe, ob a gleich 130 entspricht
 println("a entspricht 130") // und gib 'a entspricht 130' aus.
 } else { // Falls 'a' weder 100 noch 130 entspricht, gib
 println("a entspricht weder 100 noch 130") // 'a entspricht weder 100 noch 130' aus.
 }
 } // Funktionsende

 funktionsBeispiel() // Aufrufen der Funktion

}

```

*Անվտանգ նավարկող օպերատոր* Օգտագործման օրինակ

```
 // returns null if...
 // - foo() returns null,
 // - or if foo() is non-null, but bar() returns null,
 // - or if foo() and bar() are non-null, but baz() returns null.
 // vice versa, return value is non-null if and only if foo(), bar() and baz() are non-null
 foo()?.bar()?.baz()

```

Ծանոթագրություններ
------------------

1. 1 2 3 4  14 New Programming Languages To Learn In 2023 - RankRed
2. ↑
3. ↑   (ռուս.) — 2015.
4. ↑  *Heiss J. J.* The Advent of Kotlin: A Conversation with JetBrains' Andrey Breslav — 2003.
5. ↑  Sandra Upson (2017-05-19)։ «The Language that Stole Android Developers’ Hearts»։ *WIRED* (անգլերեն)։ Վերցված է 2018-02-23
6. ↑  «FAQ - Kotlin Programming Language» (անգլերեն)։ Վերցված է 2018-02-21
7. ↑  Heiss Janice (2013-04)։ «The Advent of Kotlin: A Conversation with JetBrains' Andrey Breslav»։ *oracle.com*։ Oracle Technology Network։ Վերցված է 2014-02-02
8. 1 2  Krill Paul (2011-07-22)։ «JetBrains readies JVM language Kotlin»։ *infoworld.com*։ InfoWorld։ Վերցված է 2014-02-02
9. ↑  Waters John (2012-02-22)։ «Kotlin Goes Open Source»։ *ADTmag.com/*։ 1105 Enterprise Computing Group։ Վերցված է 2014-02-02
10. ↑  Breslav Andrey (2016-02-15)։ «Kotlin 1.0 Released: Pragmatic Language for JVM and Android»
11. ↑  «Kotlin Build Tools»
12. ↑  «What’s New in IntelliJ IDEA»։ *JetBrains*
13. ↑  «Jetbrains Plugin Repository:Kotlin»
14. ↑  «Getting Started with Eclipse Neon - Kotlin Programming Language»։ *Kotlin*
15. ↑  «Kotlin for Eclipse»
16. ↑  «Semicolons»։ *jetbrains.com*։ Վերցված է 2014-02-08
17. ↑  «functions»։ *jetbrains.com*։ Վերցված է 2014-02-08
18. ↑  Breslav Andrey (2012-01-20)։ «Language of the Month: Kotlin»։ *drdobbs.com*։ Վերցված է 2014-02-02

Արտաքին հղումներ
----------------

* Offizielle Website
* Web-Demo und Beispiele
* Kotlin: Einführung Archived 2018-02-28 at the Wayback Machine.
* Kotlin Tutorial
* android.com: Kotlin and Android