Kotlin (język programowania)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Ten artykuł dotyczy języka programowania. Zobacz też: inne znaczenia nazwy „Kotlin”.
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.2
Aktualna wersja testowa 1.2
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 w oddziale firmy znajdującym się w Petersburgu (nazwa pochodzi od wyspy Kotlin niedaleko Petersburga)[3]. Kotlin jest zaprojektowany z myślą o pełnej interoperacyjności z Javą i polega na jej bibliotekach.

Historia[edytuj | edytuj kod]

W lipcu 2011 JetBrains zaprezentował projekt Kotlin, nowy język na JVM[4]. 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 kompiluje się zbyt wolno w stosunku do oczekiwań twórców Kotlina[4]. Jednym z wymienianych celów języka jest czas kompilacji na poziomie Javy. W lutym 2012 JetBrains otworzył kod projektu na licencji Apache 2[5]. Jetbrains ma nadzieję, że Kotlin zwiększy sprzedaż IntelliJ IDEA[6].

Filozofia[edytuj | edytuj kod]

Według programisty Andrieja Briesława Kotlin został zaprojektowany jako przemysłowy, obiektowy język w pełni interoperacyjny z kodem napisanym w Javie, pozwalając firmom na stopniową migrację bazy kodu z Javy do Kotlina[7].

Kotlin wprowadza eliminację błędów odwołania (null-pointer safety), funkcje rozszerzeń i notację infiksową.

Składnia[edytuj | edytuj kod]

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[8].

Semantyka[edytuj | edytuj kod]

Oprócz klas i metod (nazwanych tu "member functions"), Kotlin wspiera także programowanie proceduralne za pomocą funkcji[9]. 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 | edytuj kod]

Zastosowania[edytuj | edytuj kod]

Jednym z zastosowań języka Kotlin jest platforma Android. Kotlin został ogłoszony oficjalnym językiem programowania dla systemu Android na konferencji Google I/O 2017[14].

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

Przypisy[edytuj | edytuj kod]

  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. a b Paul Krill: JetBrains readies JVM language Kotlin (ang.). InfoWorld, 2011-07-22. [dostęp 2015-11-22].
  5. John Waters: Kotlin Goes Open Source (ang.). 1105 Enterprise Computing Group, 2012-02-22. [dostęp 2015-11-22].
  6. "Why JetBrains needs Kotlin". we expect Kotlin to drive the sales of IntelliJ IDEA
  7. RebelLabs: JVM Languages Report extended interview with Kotlin creator Andrey Breslav (ang.). 2013-04-22. [dostęp 2015-11-22].
  8. "Semicolons". jetbrains.com.
  9. "functions". jetbrains.com.
  10. "Jetbrains Plugin Repository:Kotlin".
  11. What’s New in IntelliJ IDEA, www.jetbrains.com [dostęp 2017-11-18].
  12. "Kotlin for Eclipse".
  13. a b c "Kotlin Build Tools".
  14. Maxim Shafirov, Kotlin on Android. Now official, „Kotlin Blog”, 17 maja 2017 [dostęp 2017-05-18] (ang.).
  15. "Project Kotlin".

Linki zewnętrzne[edytuj | edytuj kod]