Kotlin (język programowania)
| ||
![]() Logo języka | ||
Pojawienie się | 2011 | |
Paradygmat | wieloparadygmatowy (obiektowy, strukturalny, imperatywny) | |
Typowanie | statyczne | |
Implementacje | Kotlin (oficjalna) | |
Pochodne | brak | |
Aktualna wersja stabilna | 1.4.0 (14 sierpnia 2020)[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), funkcje rozszerzeń czy notację infiksową.
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[8].
Semantyka[edytuj | edytuj kod]
Oprócz klas i metod (nazywanych przez dokumentację jako member functions), Kotlin wspiera także programowanie proceduralne za pomocą funkcji[9]. 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[10], natomiast od wersji 15 jest ona już wbudowana do IDE jako standardowa funkcja[11]. Dostępna jest także wtyczka dla środowiska Eclipse[12]. Ponadto Kotlin współpracuje z takimi narzędziami jak Apache Maven, Apache Ant czy Gradle[13].
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[14].
Przypisy[edytuj | edytuj kod]
- ↑ Kotlin Releases (ang.). Github, 2020-08-14. [dostęp 2020-08-24].
- ↑ Supported System Configurations for non-Itanium platforms → Lista implementacji poza architekturą Itanium.
- ↑ About 1.6.0_22 (6u22) for the Itanium® architecture → Uwagi do wydania 1.6.0_22 (6u22) dla architektury Itanium.
- ↑ Janice Heiss: The Advent of Kotlin: A Conversation with JetBrains' Andrey Breslav (ang.). Oracle Technology Network, 2013-04. [dostęp 2015-11-22].
- ↑ a b Paul Krill: JetBrains readies JVM language Kotlin (ang.). InfoWorld, 2011-07-22. [dostęp 2015-11-22].
- ↑ John Waters: Kotlin Goes Open Source (ang.). 1105 Enterprise Computing Group, 2012-02-22. [dostęp 2018-05-10].
- ↑ JRebel: JVM Languages Report extended interview with Kotlin creator Andrey Breslav (ang.). 2013-04-22. [dostęp 2019-06-27].
- ↑ "Semicolons". jetbrains.com.
- ↑ "functions". jetbrains.com.
- ↑ "Jetbrains Plugin Repository:Kotlin"
- ↑ What’s New in IntelliJ, www.jetbrains.com [dostęp 2019-06-27] .
- ↑ "Kotlin for Eclipse"
- ↑ "Compiler Plugins"
- ↑ Maxim Shafirov , Kotlin on Android. Now official, „Kotlin Blog”, 17 maja 2017 [dostęp 2019-06-26] (ang.).
Linki zewnętrzne[edytuj | edytuj kod]
- Oficjalna strona
- Demo online i przykłady
- Oficjalne repozytorium projektu w serwisie GitHub
- Przykładowe algorytmy na stronie Rosetta Code
|