Kotlin

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Kotlin
Изображение логотипа
Տեսակօբյեկտ կողմնորոշված ծրագրավորման լեզու, JVM language?, ծրագրավորման լեզու և ազատ ծրագրային ապահովում
Առաջացել էհուլիսի 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) Վիքիպահեստում

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

Զարգացում[խմբագրել | խմբագրել կոդը]

Մեկ տարի անց 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-02-02 
  8. 8,0 8,1 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 

Արտաքին հղումներ[խմբագրել | խմբագրել կոդը]