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

Kotlin 2.4.0
(3 czerwca 2026) [±]

Twórca

JetBrains i autorzy open source

Licencja

Apache 2.0

Platforma sprzętowa

wieloplatformowy

Platforma systemowa

Windows, Linux, Solaris[1][2]

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[3]. Kotlin jest zaprojektowany z myślą o pełnej interoperacyjności z językami działającymi na maszynie wirtualnej Javy.

Historia

edytuj

W lipcu 2011 JetBrains zaprezentował projekt Kotlin, nowy język na JVM[4]. 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[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.0[5].

Filozofia

edytuj

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[6], wprowadzając m.in. eliminację błędów odwołania (null-pointer safety)[7], funkcje rozszerzeń czy notację infiksową (tworzenie nowych operatorów i przeciążanie operatorów)[8].

Składnia

edytuj

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

Semantyka

edytuj

Oprócz klas i metod (nazywanych przez dokumentację jako member functions), Kotlin wspiera także programowanie proceduralne za pomocą funkcji[10].  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

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

Zastosowania

edytuj

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

Przypisy

edytuj
  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. Oracle Technology Network, 2013-04. [dostęp 2015-11-22]. (ang.).
  4. a b Paul Krill: JetBrains readies JVM language Kotlin. InfoWorld, 2011-07-22. [dostęp 2015-11-22]. (ang.).
  5. John Waters: Kotlin Goes Open Source. 1105 Enterprise Computing Group, 2012-02-22. [dostęp 2018-05-10]. (ang.).
  6. JRebel: JVM Languages Report extended interview with Kotlin creator Andrey Breslav. 2013-04-22. [dostęp 2019-06-27]. (ang.).
  7. 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.”.
  8. Operator overloading – Kotlin [online], Kotlin Help [dostęp 2024-10-23] (ang.).
  9. „Semicolons”. jetbrains.com.
  10. „functions”. jetbrains.com.
  11. „Jetbrains Plugin Repository:Kotlin”.
  12. What’s New in IntelliJ [online], www.jetbrains.com [dostęp 2019-06-27].
  13. „Kotlin for Eclipse”.
  14. „Compiler Plugins”.
  15. Maxim Shafirov, Kotlin on Android. Now official, „Kotlin Blog”, 17 maja 2017 [dostęp 2019-06-26] (ang.).

Bibliografia

edytuj

Linki zewnętrzne

edytuj

📚 Artikel Terkait di Wikipedia

Interfejs skoncentrowany na zadaniu

2021-03-15] . typ? MikM. Kersten MikM., Eclipse Mylyn Open Source Project | The Eclipse Foundation [online], www.eclipse.org [dostęp 2021-03-15]  (ang.). Ontological

Microsoft Azure

Windows Azure przeznaczonych do popularnych IDE takich jak Visual Studio czy Eclipse. Ze strony Microsoft można pobrać Windows Azure SDK dla platform takich

Maszyna licząca

ISSN 0036-8733 [dostęp 2018-08-20] . TonyT. Freeth TonyT., Eclipse Prediction on the Ancient Greek Astronomical Calculating Machine Known

KNIME

widoki interaktywne. KNIME jest napisany w Javie i bazuje na środowisku Eclipse. Wykorzystuje mechanizm rozszerzeń do dodawania wtyczek dostarczających

Merkury

Anthony Mallama, James L. Hilton. Computing apparent planetary magnitudes for The Astronomical Almanac. „Astronomy and Computing”. 25, s. 10–24, 2018. DOI: 10

Testy doświadczalne ogólnej teorii względności

1919 eclipse- a question of bias", Physics Today, March 2009, pp. 37–42. van Biesbroeck, G.: The relativity shift at the 1952 February 25 eclipse of the

R (język programowania)

(Microsoft R Tools for Visual Studio) i Tinn. Jest także wtyczka R plug-in dla Eclipse. R dostarcza szeroką gamę technik statystycznych (liniowe i nieliniowe

Jerzy Dobrzycki (historyk nauki)

Tihon, R. Royez, A. Berg), Gregoras Nicephore, Calculations of the Solar Eclipse of 1330 July 16, „Journal for the History of Astronomy”, 1986, nr 17, s