Kotlin

**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!!“-օրինակ

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


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

```kotlin
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

}
```


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

```kotlin
// 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()
```


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

## Արտաքին հղումներ
* Offizielle Website
* Web-Demo und Beispiele
* Kotlin: Einführung 
* Kotlin Tutorial
* android.com: Kotlin and Android

Կատեգորիա:Անդրոիդի ծրագրային ապահովում
Կատեգորիա:Օբյեկտ կողմնորոշված ծրագրավորման լեզուներ