Kotlin (język programowania)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Kotlin
Logo języka
Logo języka
Pojawienie się 2011
Paradygmat Wieloparadygmatowy (obiektowy, strukturalny, imperatywny)
Typowanie statyczne
Implementacje JetBrains
Pochodne brak
Aktualna wersja stabilna 1.0.4
Twórca JetBrains i autorzy open source
Licencja Apache 2
Platforma sprzętowa wieloplatformowy
Platforma systemowa Windows x86/x64/IA64

Linux x86/x64/IA64, Solaris[1][2]

Strona internetowa

Kotlin – statycznie typowany język programowania działający na maszynie wirtualnej Javy. Jest rozwijany głównie przez programistów JetBrains z siedzibą w Petersburgu (nazwa pochodzi od wyspy Kotlin niedaleko Petersburga)[3]. Kotlin został wybrany językiem miesiąca w styczniu 2012 w wydaniu Dr. Dobb's Journal[4]. Kotlin jest zaprojektowany z myślą o pełnej interoperacyjności z Javą i polega na jej bibliotekach.

Historia[edytuj]

W lipcu 2011 JetBrains zaprezentował projekt Kotlin, nowy język na JVM[5]. Główny programista JetBrains Dmitrij Żemierow stwierdził, że większość języków nie miała cech, których potrzebowali, z wyjątkiem Scali, która zbyt wolno się kompiluje[5]. Jednym z wymienianych celów Kotlina jest czas kompilacji na poziomie Javy. W lutym 2012 JetBrains otworzył kod projektu na licencji Apache 2[6]. Jetbrains ma nadzieję, że Kotlin zwiększy sprzedaż IntelliJ IDEA[7].

Filozofia[edytuj]

Według programisty Andrieja Briesława Kotlin został zaprojektowany jako przemysłowy, obiektowy język lepszy od Javy ale wciąż w pełni interoperacyjny z jej kodem, pozwalając firmom na stopniową migrację bazy kodu z Javy do Kotlina[8].

Składnia[edytuj]

Podobnie jak Pascal, Haxe, PL/SQL, F#, Go i Scala — w przeciwieństwie do CC++, Java, C# i D – deklaracje zmiennych mają typ po nazwie zmiennej (po dwukropku). Średniki są opcjonalne na końcu wiersza[9].

Semantyka[edytuj]

Oprócz klas i metod (nazwanych tu "member functions"), Kotlin wspiera także programowanie proceduralne za pomocą funkcji[10]. Podobnie jak w C i C++ punktem wejścia do programu w Kotlinie jest funkcja "main", do której przekazywana jest tablica z argumentami z linii poleceń.

Przykład Hello, world!

fun main(args: Array<String>)
{
  val scope = "world"
  println("Hello, $scope!")
}

Narzędzia[edytuj]

Zastosowania[edytuj]

Jednym z oczywistych zastosowań języka Kotlin jest Android. Platforma ta przez długi czas opierała się na Java w wersji 6 (niektóre udogodnienia z nowszych wersji mogły być używane poprzez zastosowanie narzędzia Retrolambda[15] oraz kompilatora Jack[16]). Kotlin wprowadza kilka istotnych dla programistów koncepcji takich jak eliminacja błędów odwołania (null-pointer safety), funkcje rozszerzeń, czy notacja infiksowa. Biorąc pod uwagę pełną kompatybilność z Javą, a także wsparcie IDE (Android Studio[17]), Kotlin pozwala na poprawę czytelności kodu, rozszerzanie klas SDK Androida oraz przyspieszenie całego procesu wytwarzania oprogramowania.

Kotlin został ogłoszony oficjalnym językiem programowania dla systemu Android na konferencji Google I/O 2017[18]. Stał się on przez to trzecim językiem w pełni wspieranym przez Android, po Javie i C++.

Użytkownicy[edytuj]

Według oficjalnej strony Kotlina, język jest używany m.in. przez backend Prezi[19].

Przypisy

  1. Supported System Configurations for non-Itanium platforms → Lista implementacji poza architekturą Itanium.
  2. About 1.6.0_22 (6u22) for the Itanium® architecture → Uwagi do wydania 1.6.0_22 (6u22) dla architektury Itanium.
  3. Janice Heiss: The Advent of Kotlin: A Conversation with JetBrains' Andrey Breslav (ang.). Oracle Technology Network, 2013-04. [dostęp 2015-11-22].
  4. Andriej Briesław: Language of the Month: Kotlin (ang.). 2012-01-20. [dostęp 2015-11-22].
  5. a b Paul Krill: JetBrains readies JVM language Kotlin (ang.). InfoWorld, 2011-07-22. [dostęp 2015-11-22].
  6. John Waters: Kotlin Goes Open Source (ang.). 1105 Enterprise Computing Group, 2012-02-22. [dostęp 2015-11-22].
  7. "Why JetBrains needs Kotlin". we expect Kotlin to drive the sales of IntelliJ IDEA
  8. RebelLabs: JVM Languages Report extended interview with Kotlin creator Andrey Breslav (ang.). 2013-04-22. [dostęp 2015-11-22].
  9. "Semicolons". jetbrains.com.
  10. "functions". jetbrains.com.
  11. "Jetbrains Plugin Repository:Kotlin".
  12. https://www.jetbrains.com/idea/whatsnew/
  13. "Kotlin for Eclipse".
  14. a b c "Kotlin Build Tools".
  15. orfjackal/retrolambda, GitHub [dostęp 2016-04-15].
  16. Jack (Java Android Compiler Kit) | Android Open Source Project, source.android.com [dostęp 2016-04-15].
  17. JetBrains Plugin Repository :: Kotlin, plugins.jetbrains.com [dostęp 2016-04-15].
  18. Maxim Shafirov, Kotlin on Android. Now official, „Kotlin Blog”, 17 maja 2017 [dostęp 2017-05-18] (ang.).
  19. "Project Kotlin".

Linki zewnętrzne[edytuj]