Kotlin (język programowania) – Wikipedia, wolna encyklopedia

Kotlin
Logo języka Kotlin
Logo języka
Pojawienie się

2011

Paradygmat

wieloparadygmatowy (obiektowy, strukturalny, imperatywny)

Typowanie

statyczne

Implementacje

Kotlin (oficjalna)

Pochodne

brak

Aktualna wersja stabilna

1.9.22[1]

Twórca

JetBrains i autorzy open source

Licencja

Apache 2.0

Platforma sprzętowa

wieloplatformowy

Platforma systemowa

Windows, Linux, Solaris[2][3]

Strona internetowa

Kotlin – statycznie typowany język programowania działający na maszynie wirtualnej Javy, który jest głównie rozwijany przez programistów JetBrains. Nazwa języka pochodzi od wyspy Kotlin niedaleko Petersburga[4]. Kotlin jest zaprojektowany z myślą o pełnej interoperacyjności z językami działającymi na maszynie wirtualnej Javy.

Historia

[edytuj | edytuj kod]

W lipcu 2011 JetBrains zaprezentował projekt Kotlin, nowy język na JVM[5].  Główny programista JetBrains Dmitry Jemerov 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[5].  Jednym z wymienianych celów języka jest czas kompilacji na poziomie Javy. W lutym 2012 JetBrains otworzył kod projektu na licencji Apache 2.0[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], wprowadzając m.in. eliminację błędów odwołania (null-pointer safety)[8], funkcje rozszerzeń czy notację infiksową (tworzenie nowych operatorów i przeciążanie operatorów)[9].

Składnia

[edytuj | edytuj kod]

Podobnie jak w językach Pascal, Haxe, PL/SQL, F#, Go, czy Scala typ danych w deklaracjach zmiennych umiejscowiony jest po nazwie, od której oddzielony jest dwukropkiem. Średniki na końcu wiersza są opcjonalne[10].

Semantyka

[edytuj | edytuj kod]

Oprócz klas i metod (nazywanych przez dokumentację jako member functions), Kotlin wspiera także programowanie proceduralne za pomocą funkcji[11].  Podobnie jak w Javie, klasycznym punktem wejścia do programu w Kotlinie jest funkcja main, do której przekazywana jest tablica z argumentami podanymi w linii poleceń.

Przykład programu Hello world napisanego w języku Kotlin:

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

Oficjalne narzędzia

[edytuj | edytuj kod]

W ramach oficjalnego wsparcia języka dla różnych platform, producent języka wydał dla środowiska IntelliJ IDEA wtyczkę dodającą wsparcie dla Kotlina[12], natomiast od wersji 15 jest ona już wbudowana do IDE jako standardowa funkcja[13]. Dostępna jest także wtyczka dla środowiska Eclipse[14]. Ponadto Kotlin współpracuje z takimi narzędziami jak Apache Maven, Apache Ant czy Gradle[15].

Zastosowania

[edytuj | edytuj kod]

Jednym z zastosowań języka Kotlin jest platforma Android. Został on ogłoszony oficjalnym językiem programowania na konferencji Google I/O 2017[16].

Przypisy

[edytuj | edytuj kod]
  1. Kotlin releases | Kotlin [online], Kotlin Help [dostęp 2024-01-21] (ang.).
  2. Supported System Configurations for non-Itanium platforms → Lista implementacji poza architekturą Itanium.
  3. About 1.6.0_22 (6u22) for the Itanium® architecture → Uwagi do wydania 1.6.0_22 (6u22) dla architektury Itanium.
  4. Janice Heiss: The Advent of Kotlin: A Conversation with JetBrains’ Andrey Breslav. Oracle Technology Network, 2013-04. [dostęp 2015-11-22]. (ang.).
  5. a b Paul Krill: JetBrains readies JVM language Kotlin. InfoWorld, 2011-07-22. [dostęp 2015-11-22]. (ang.).
  6. John Waters: Kotlin Goes Open Source. 1105 Enterprise Computing Group, 2012-02-22. [dostęp 2018-05-10]. (ang.).
  7. JRebel: JVM Languages Report extended interview with Kotlin creator Andrey Breslav. 2013-04-22. [dostęp 2019-06-27]. (ang.).
  8. Griffiths i Griffiths 2020 ↓, s. 2. Cytat: „Kotlin niemal w całości eliminuje wiele rodzajów błędów, które powszechnie występują w innych językach programowania. A to oznacza solidniejszy, bardziej niezawodny kod i mniej czasu spędzonego na tropienie i usuwanie błędów.”.
  9. Operator overloading - Kotlin [online], Kotlin Help [dostęp 2024-10-23] (ang.).
  10. „Semicolons”. jetbrains.com.
  11. „functions”. jetbrains.com.
  12. „Jetbrains Plugin Repository:Kotlin”.
  13. What’s New in IntelliJ [online], www.jetbrains.com [dostęp 2019-06-27].
  14. „Kotlin for Eclipse”.
  15. „Compiler Plugins”.
  16. Maxim Shafirov, Kotlin on Android. Now official, „Kotlin Blog”, 17 maja 2017 [dostęp 2019-06-26] (ang.).

Bibliografia

[edytuj | edytuj kod]

Linki zewnętrzne

[edytuj | edytuj kod]