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

Kotlin
Изображение логотипа
Տեսակօբյեկտ կողմնորոշված ծրագրավորման լեզու, JVM լեզու և ազատ ծրագրային ապահովում
Առաջացել էհուլիսի 22, 2011
ՍտեղծողJetBrains
ՆախագծողJetBrains
Ընդլայնումներ.kt և .kts
Ներշնչվել էGroovy?, C Sharp[1], Gosu?, Ջավա[1], Ruby, ՋավաՍկրիպտ[1], Scala (ծրագրավորման լեզու)[1], Python և ML
ԱրտոնագիրApache License 2.0[2]
Անվանված էԿոտլին[3][4]
ՀմայագիրKotlin mascot?
Կայքkotlinlang.org(անգլ.)
Ելակոդgithub.com/JetBrains/kotlin
 Kotlin (programming language) Վիքիպահեստում

Զարգացում խմբագրել

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

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

Գործիքներ խմբագրել

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

Շարահյուսություն խմբագրել

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

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

„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,0 1,1 1,2 1,3 14 New Programming Languages To Learn In 2023 - RankRed
  2. https://github.com/JetBrains/kotlin/blob/v1.3.61/license/README.md
  3. https://www.youtube.com/watch?v=VU_L2_XGQ9s (ռուս.) — 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 թ․ փետրվարի 2-ին.
  8. 8,0 8,1 Krill, Paul (2011 թ․ հուլիսի 22). «JetBrains readies JVM language Kotlin». infoworld.com. InfoWorld. Վերցված է 2014 թ․ փետրվարի 2-ին.
  9. Waters, John (2012 թ․ փետրվարի 22). «Kotlin Goes Open Source». ADTmag.com/. 1105 Enterprise Computing Group. Վերցված է 2014 թ․ փետրվարի 2-ին.
  10. Breslav, Andrey (2016 թ․ փետրվարի 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 թ․ փետրվարի 8-ին.
  17. «functions». jetbrains.com. Վերցված է 2014 թ․ փետրվարի 8-ին.
  18. Breslav, Andrey (2012 թ․ հունվարի 20). «Language of the Month: Kotlin». drdobbs.com. Վերցված է 2014 թ․ փետրվարի 2-ին.

Արտաքին հղումներ խմբագրել